Cocoa Touch框架

一,Cocoa 和 Cocoa touch的區(qū)別###

CocoaCocoa touchRunTime的兩個(gè)核心框架:

  • cocoa包含FoundationAppKit框架,可用于開(kāi)發(fā)Mac OS X系統(tǒng)的應(yīng)用程序。CocoaMac OS X的開(kāi)發(fā)環(huán)境

  • cocoa touch包含FoundationUIKit框架,可用于開(kāi)發(fā)iPhone OS 系統(tǒng)的應(yīng)用程序。cocoa Touchiphone OS的開(kāi)發(fā)環(huán)境

二,Cocoa Touch 的概念

cocoa touch由蘋(píng)果公司提供的軟件開(kāi)發(fā) api, 用于開(kāi)發(fā) iphone\ipod\ipad上的軟件。也是蘋(píng)果公司針對(duì)iPhone應(yīng)用程序快速開(kāi)發(fā)提供的一個(gè)類庫(kù)。此庫(kù)以一系列框架庫(kù)的形式存在,支持開(kāi)發(fā)人員使用用戶界面元素構(gòu)建圖像化的 事件驅(qū)動(dòng)的應(yīng)用程序。Cocoa Touch 框架推動(dòng)了 iOS 應(yīng)用程序的開(kāi)發(fā),為開(kāi)發(fā)者提供了很多Mac平臺(tái)上久經(jīng)考驗(yàn)的模式,同時(shí)又特別專注于基于觸摸的開(kāi)發(fā)接口和性能優(yōu)化。其中,UIKit 提供了開(kāi)發(fā)iOS上的圖形化事件驅(qū)動(dòng)程序所需的基本工具。UIKit基于 Foundation 框架,該框架同樣存在于 Mac OS X 系統(tǒng)中,提供了文件處理、網(wǎng)絡(luò)、字符串處理以及其他基礎(chǔ)架構(gòu)。iOS 獨(dú)特的界面意味著 Cocoa Touch 具有同樣獨(dú)特的設(shè)計(jì)。通過(guò) UIKit,您可以訪問(wèn) iOS上特殊的 GUI 控制、按鈕全屏幕視圖。您還可以通過(guò)加速計(jì)Multi-Touch 手勢(shì)控制應(yīng)用程序。

三,Cocoa Touch構(gòu)建基礎(chǔ)

大部分Cocoa Touch的功能是用 Objective-C 實(shí)現(xiàn)的。Objective-C 是一種面向?qū)ο蟮恼Z(yǔ)言,它編譯運(yùn)行的速度令人難以置信。更值得一提的是采用了真正的動(dòng)態(tài)運(yùn)行時(shí)系統(tǒng),從而增添了難能可貴的靈活性。由于 Objective-CC的超集,因此您可以輕松地將C甚至是C++ 融入Cocoa Touch 應(yīng)用程序中。 當(dāng)應(yīng)用程序運(yùn)行時(shí),Objective-C 運(yùn)行時(shí)會(huì)根據(jù)執(zhí)行邏輯(而不僅是編譯期間定義的方式)實(shí)例化對(duì)象。例如,運(yùn)行中的 Objective-C 應(yīng)用程序可以載入界面(Interface Builder創(chuàng)建的 nib 文件),將界面中的Cocoa對(duì)象連接到應(yīng)用程序代碼,然后在按下UI按鈕后運(yùn)行正確的方法。無(wú)需進(jìn)行重新編譯。

四、Cocoa Touch框架

UIKit 之外,Cocoa Touch 包含創(chuàng)建世界一流iOS應(yīng)用程序所需的所有框架,從3D 圖形、專業(yè)音頻到網(wǎng)絡(luò),甚至提供特殊設(shè)備訪問(wèn) API 以控制攝像機(jī)或從GPS硬件獲取位置。Cocoa Touch 既包含只需要幾行代碼就可以完成全部任務(wù)的強(qiáng)大的Objective-C 框架,也在需要時(shí)提供基礎(chǔ)的C語(yǔ)言 API來(lái)直接訪問(wèn)系統(tǒng)。這些框架示例包括:

  • ?Core Animation
    通過(guò) Core Animation,您就可以通過(guò)基于組合獨(dú)立圖層的簡(jiǎn)單編程模型來(lái)創(chuàng)建豐富的用戶體驗(yàn)。?

  • Core Audio
    Core Audio 是播放、處理和錄制音頻的專業(yè)級(jí)技術(shù),能夠輕松為您的應(yīng)用程序添加強(qiáng)大的音頻功能。

  • ?Core Data
    Core Data提供面向?qū)ο蟮臄?shù)據(jù)管理解決方案,該方案易于使用和理解,甚至可處理任何應(yīng)用或大或小的數(shù)據(jù)模型

五,iphone 技術(shù)層

Cocoa Touch層由多個(gè)框架組成,他們?yōu)閼?yīng)用程序提供了核心功能。

  • UIKit 負(fù)責(zé)啟動(dòng)和結(jié)束應(yīng)用程序,控制界面和多觸點(diǎn)事件
  • Map Kit 提供地圖的相關(guān)服務(wù)
  • Game Kit 創(chuàng)建和使用網(wǎng)絡(luò)機(jī)制
  • Message UI/Adress Book UI提供操作電子郵件和聯(lián)系人的信息

六,IOS系統(tǒng)分層

一共分為四層,從上到下依次為:

  • Cocoa Touch Layer(觸摸UI層)
  • MediaLayer(媒體層)
  • Core Services Layer(核心服務(wù)層)
  • Core OS Layer(核心OS層)。

七,Cocoa framework

Cocoa本身是一個(gè)框架的集合,它包含了眾多子框架,其中最重要最基本的兩個(gè)框架是:FoundationUIKit。
Foundation 是框架的基礎(chǔ),和界面無(wú)關(guān),其中包含了大量常用的API;后者是基礎(chǔ)的UI類庫(kù),以后我們?cè)趇OS開(kāi)發(fā)中會(huì)經(jīng)常用到。這兩個(gè)框架在系統(tǒng)中的位置如下圖

IOS系統(tǒng)分層

  • Foundation 框架

iOS程序都是由大量的對(duì)象構(gòu)成,而這些對(duì)象的根對(duì)象都是NSObject,NSObject就處在Foundation框架之中,具體的類結(jié)構(gòu)如下





將上圖Foundation框架中的類進(jìn)行邏輯分類如下:

  • 值對(duì)象
  • 集合
  • 操作系統(tǒng)服務(wù)包括下面三個(gè):文件系統(tǒng)、URL和 進(jìn)程間通訊。 這個(gè)范疇中的大部分類代表不同的系統(tǒng)端口、套接字、和名字服務(wù)器,對(duì)實(shí)現(xiàn)底層的IPC很有用。NSPipe代表一個(gè)BSD管道,即一種進(jìn)程間的單向通訊通道。 線程和子任務(wù)。 NSThread類使您可以創(chuàng)建多線程的程序,而各種鎖(lock)類則為彼此競(jìng)爭(zhēng)的線程在訪問(wèn)進(jìn)程資源時(shí)提供各種控制機(jī)制。通過(guò)NSTask,您的程序可以分出 一個(gè)子進(jìn)程來(lái)執(zhí)行其它工作或進(jìn)行進(jìn)度監(jiān)控。
  • 通知
  • 歸檔和序列化
  • 表達(dá)式和條件判斷
  • Objective-C語(yǔ)言服務(wù)
  • UIKit 框架

UIKit框架類組織架構(gòu)圖

在圖中可以看出,UIResponder 類是圖中最大分支的根類,UIResponder處理響應(yīng)事件和響應(yīng)鏈,定義了界面和默認(rèn)行為。當(dāng)用戶用手指滾動(dòng)列表或者在虛擬鍵盤上輸入時(shí),UIKit就生成事件傳送給UIResponder響應(yīng)鏈,直到鏈中有對(duì)象處理這個(gè)事件。
相應(yīng)的核心對(duì)象,比如:UIApplication ,UIWindowUIView都直接或間接的從UIResponder繼承。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Cocoa Touch 框架是iOS開(kāi)發(fā)的基礎(chǔ),了解Cocoa Touch框架,對(duì)我們開(kāi)發(fā)iOS軟件有很大的幫助。...
    檸檬丶Lemon閱讀 7,491評(píng)論 0 14
  • iOS 應(yīng)用程序的基礎(chǔ) Cocoa Touch 框架重用了許多 Mac 系統(tǒng)的成熟模式,但是它更多地專注于觸摸的接...
    筆筆請(qǐng)求閱讀 1,586評(píng)論 0 9
  • 在iOS中框架是一個(gè)目錄,包含了共享資源庫(kù),用于訪問(wèn)該資源庫(kù)中儲(chǔ)存的代碼的頭文件,以及圖像、聲音文件等其他資源。共...
    wo不懂閱讀 1,603評(píng)論 3 3
  • 6轉(zhuǎn)載-->>IOS框架和服務(wù) 在iOS中框架是一個(gè)目錄,包含了共享資源庫(kù),用于訪問(wèn)該資源庫(kù)中儲(chǔ)存的代碼的頭文件,...
    李小六_閱讀 3,839評(píng)論 2 24
  • 在未創(chuàng)建燈光前,使用的是默認(rèn)燈光。 ??文檔 ?? 泛燈光即燈光:以一點(diǎn)向四周照射,默認(rèn)為照射無(wú)限遠(yuǎn);聚光燈:以一點(diǎn)向...
    劉板栗閱讀 16,749評(píng)論 7 76

友情鏈接更多精彩內(nèi)容