天天看點

obj-c程式設計14:Cocoa和Cocoa Touch簡介

    這一篇篇幅相對少很多,幾乎沒有代碼,全部都要靠本貓的語言組織能力啊!cocoa架構在前面講解f庫時曾簡單做過介紹,現在再具體說一說喽。各位童鞋是否已經發現鳥,前面所寫的所有代碼都是基于終端(或稱之為console控制台)模式,我們有時希望編寫視窗下的obj-c程式哦。cocoa是一種為os x應用程式提供豐富使用者體驗的架構,實際上由3個架構組成:

1 基本類foundation架構

2 便于資料庫存儲和管理資料的core data架構

3 提供視窗、視圖、文檔以及和多使用者界面相關類的application kit(appkit)架構

架構層次示意圖如下:

obj-c程式設計14:Cocoa和Cocoa Touch簡介

其中kernel以裝置驅動程式的形式提供與硬體的底層互動;

核心服務層提供比在其之上各層更底層的功能,比如提供對集合、網絡、調試、檔案管理、檔案夾、記憶體管理、線程、時間和電源的管理;

應用服務層包括列印和圖像渲染支援,包括quartz、opengl以及quicktime;

cocoa層位于應用程式層之上,提供處理集合(建立在核心服務層集合功能之上)、字元串、記憶體管理、檔案系統、存檔等相關的類。

需要說明的是,某一層可能會直接“穿越”到下下層的功能中去,比如f庫中處理檔案系統的類直接依賴于核心服務層的功能,實際上跳過了應用服務層。

    cocoa介紹完了,下面輪到cocoa touch喽,顧名思義,該架構應用于ios裝置上應用程式的開發,其中包括:

1和2 foundation和core data架構,這個和cocoa相同

3 uikit架構類似于appkit,提供很多相同類型對象的支援,比如視窗、視圖、按鈕、文本域等。

    另外,cocoa touch還提供對ios裝置特有硬體的支援,比如使用陀螺儀和加速器的類和觸摸式界面,并且去掉了不需要的類哦。