Foundation 框架:提供oc的基礎類(eg:NSObject)、基本數據類型ios
UIKIt 框架:建立和管理應用程序界面數據庫
QuartzCore :提供動畫特效及經過硬件進行渲染的能力網絡
CoreGraphics :提供2D繪製的基於C的API架構
SystemConfiguration :檢測當前網絡是否可用和硬件設備狀態框架
AVFoundation:提供音頻錄製和回放的底層API,同時也負責管理音頻硬件動畫
CFNetwork 訪問和配置網絡,像Http、FTP、和Bonjour Services操作系統
CoreFoundation:提供抽象的經常使用數據類型,如Unicode strings、XML、URL等code
CoreLocation:使用GPS和WiFi獲取位置信息視頻
GameKit:爲遊戲提供網絡功能,點對點互聯和遊戲中語音交流接口
Address Book:提供訪問用戶聯繫人信息的功能
AddressBookUI:提供一個用戶界面,用於顯示存儲在地址薄中的聯繫人信息
AudioToolBox :提供音頻錄製和回放的底層API,同時也負責管理音頻硬件
AudioUnit:提供一個接口,讓咱們的應用程序能夠對音頻進行處理
MapKit:爲應用程序提供內嵌地圖的接口
MediaPlayer:提供播放視頻和音頻的功能
MessageUI:提供視圖控制接口用以處理E-mail和短信
OpenGLES 提供動畫特效以及經過硬件進行渲染的能力
StoreKit:爲應用程序提供在程序運行中消費的支持
iOS 系統架構
iOS是基於UNIX的,比較穩定
iOS 的系統架構可分爲四個層次(由底層向上)
1.核心操做系統層:(Core OS) 它包括內存管理、文件管理、電源管理以及一些其餘的操做系統任務。它能夠直接和硬件設備進行交互。
2.核心服務層(Core Services) 咱們能夠經過它來訪問iOS的一些服務,好比網絡鏈接、文件訪問、數據庫、用戶定位等。
3.媒體層(Media) 經過它咱們能夠在應用程序中使用各類媒體文件,進行音頻於視頻的錄製,圖形的繪製,以及製做基礎的動畫效果。
4.可觸摸層(CoCoa Touch) 它負責用戶在iOS設備上的用戶觸摸交互操做。
-------
浮點數求絕對值 fabs(x)
整數求絕對值abs(x)
if( fabs(a-b) < FLT_EPSILON) 判斷兩個float數是否相等
if( fabs(a-b) < DBL_EPSILON) 判斷兩個Double數是否相等
--------
關於屏幕像素問題
ios中的控件的座標是以一個像素爲基本單位的,若是座標精確度小於一個像素(如0.5個像素)會致使控件重影,因此座標要去正roundf()