1.框架概述
iOS的系統(tǒng)架構(gòu)分為四個層次:核心操作系統(tǒng)層(Core OS layer)、核心服務(wù)層(Core Services layer)、媒體層(Media layer)和可觸摸層(Cocoa Touch layer)。下面是IOS系統(tǒng)結(jié)構(gòu)圖。
- Core OS是位于iOS系統(tǒng)架構(gòu)最下面的一層是核心操作系統(tǒng)層,它包括內(nèi)存管理、文件系統(tǒng)、電源管理以及一些其他的操作系統(tǒng)任務(wù)。它可以直接和硬件設(shè)備進(jìn)行交互。作為app開發(fā)者不需要與這一層打交道。
- Core Services是核心服務(wù)層,可以通過它來訪問iOS的一些服務(wù)。
- Media是媒體層,通過它我們可以在應(yīng)用程序中使用各種媒體文件,進(jìn)行音頻與視頻的錄制,圖形的繪制,以及制作基礎(chǔ)的動畫效果。
- Cocoa Touch是可觸摸層,這一層為我們的應(yīng)用程序開發(fā)提供了各種有用的框架,并且大部分與用戶界面有關(guān),本質(zhì)上來說它負(fù)責(zé)用戶在iOS設(shè)備上的觸摸交互操作。
2.CocoaTouch層
CocoaTouch提供了基本的系統(tǒng)行為支持,而且將你的工作量降到最低,當(dāng)你想要實現(xiàn)更為復(fù)雜的行為和界面時,才考慮向下層探尋技術(shù)支持。
- UIKit框架:UIKit提供了一些程序運行所必須的關(guān)鍵對象,使得App能夠捕獲用戶輸入和屏幕上顯示內(nèi)容。
UIKit框架類組織架構(gòu)圖:
在圖中可以看出,responder 類是圖中最大分支的根類,UIResponder為處理響應(yīng)事件和響應(yīng)鏈 定義了界面和默認(rèn)行為。當(dāng)用戶用手指滾動列表或者在虛擬鍵盤上輸入時,UIKit就生成時間傳送給UIResponder響應(yīng)鏈,直到鏈中有對象處理這個事件。相應(yīng)的核心對象,比如:UIApplication ,UIWindow,UIView都直接或間接的從UIResponder繼承。
- MapKit框架:iOS3.0引入該框架,該框架提供一個可被嵌入到應(yīng)用程序的地圖界面,該界面包含一個可以滾動的地圖視圖。
- Address Book UI框架:iOS3.0引入該框架,可以利用該框架撰寫電子郵件,并將其放到用戶的發(fā)件箱隊列等候發(fā)送
- Message UI框架:顯示創(chuàng)建或者編輯聯(lián)系人的標(biāo)準(zhǔn)系統(tǒng)界面
3.Media層
包含圖形、音頻、視頻等技術(shù)
Quartz Core框架:包含Core Animation接口。Core Animation是高級動畫制作和混合技術(shù),它使用經(jīng)過優(yōu)化的渲染路徑實現(xiàn)復(fù)雜的動畫和視覺效果。
Media Player框架:應(yīng)用程序播放視頻和音頻內(nèi)容。
AV Foundation框架:該框架包含的Objective-C類可用于播放音頻內(nèi)容。
Core Graphics框架:包含Quartz 2D繪圖API接口。
4.Core Service層
Foundation類組織架構(gòu)圖注:圖中灰色的是iOS不支持的
將上圖Foundation框架中的類進(jìn)行邏輯分類如下:
- 值對象
- 集合
- 操作系統(tǒng)服務(wù) 包括下面三個:文件系統(tǒng)和URL 進(jìn)程間通訊。 這個范疇中的大部分類代表不同的系統(tǒng)端口、套接字、和名字服務(wù)器,對實現(xiàn)底層的IPC很有用。NSPipe代表一個BSD管道,即一種進(jìn)程間的單向通訊通道。 線程和子任務(wù)。 NSThread類使您可以創(chuàng)建多線程的程序,而各種鎖(lock)類則為彼此競爭的線程在訪問進(jìn)程資源時提供各種控制機(jī)制。通過NSTask,您的程序可以分出 一個子進(jìn)程來執(zhí)行其它工作或進(jìn)行進(jìn)度監(jiān)控。
- 通知
- 歸檔和序列化
- 表達(dá)式和條件判斷
- Objective-C語言服務(wù)
參考:
http://blog.csdn.net/yuhuangc/article/details/7575519
http://blog.csdn.net/totogo2010/article/details/8081253
|