[轉(zhuǎn)載] ios框架

iOS操作系統(tǒng)是蘋(píng)果為公司移動(dòng)設(shè)備提供的操作系統(tǒng)市殷,為方便應(yīng)用開(kāi)發(fā)者采用了先進(jìn)的設(shè)計(jì)模式秦叛。采用了經(jīng)典的MVC設(shè)計(jì)模式和框架模式新荤。本篇文章我們主要關(guān)注iOS系統(tǒng)提供的框架荧嵌,對(duì)MVC設(shè)計(jì)模式不做過(guò)多的描述慰枕。

我們通常稱(chēng)呼iOS的框架為Cocoa Touch框架具则,Cocoa Touch是一個(gè)框架的集合,里面包含了眾多的子框架具帮。每一個(gè)子框架都是一個(gè)目錄博肋,包含了共享資源庫(kù),用于訪問(wèn)該資源庫(kù)中儲(chǔ)存的代碼的頭文件蜂厅,以及圖像匪凡、聲音文件等其他資源,共享資源庫(kù)定義應(yīng)用程序可以調(diào)用的函數(shù)和方法掘猿〔∮危框架中的類(lèi)相互依賴(lài)構(gòu)成一個(gè)整體,提供完善的某一方面的服務(wù)或解決方案稠通,多個(gè)框架一起實(shí)現(xiàn)整個(gè)應(yīng)用程序的結(jié)構(gòu)衬衬。由于應(yīng)用程序的結(jié)構(gòu)是通用的,開(kāi)發(fā)者通過(guò)框架提供的函數(shù)和方法改橘,做細(xì)致個(gè)性化的處理滋尉,從而滿(mǎn)足不同應(yīng)用的不同需求。開(kāi)發(fā)一個(gè)應(yīng)用程序就是將需求細(xì)致化的代碼插入到框架提供的設(shè)計(jì)中來(lái)組合成一個(gè)整體完成最終的應(yīng)用設(shè)計(jì)唧龄。

框架的結(jié)構(gòu)是泛型結(jié)構(gòu)兼砖,為應(yīng)用程序提供一個(gè)模板奸远。就像我們之前說(shuō)的既棺,多個(gè)框架一起實(shí)現(xiàn)了整個(gè)應(yīng)用程序的結(jié)構(gòu)讽挟,我們必須接受它所定義好的應(yīng)用程序結(jié)構(gòu),設(shè)計(jì)的時(shí)候讓我們的應(yīng)用適合該結(jié)構(gòu)丸冕。

iOS提供的許多可使用的框架耽梅,構(gòu)成了iOS操作系統(tǒng)的層次結(jié)構(gòu),從下到上依次是:Core OS胖烛、Core Ssevices眼姐、MediaLayer、Cocoa Touch共四層佩番。下圖為iOS8.3系統(tǒng)的框架架構(gòu)圖

Core OS Layer,系統(tǒng)核心層包含大多數(shù)低級(jí)別接近硬件的功能众旗,它所包含的框架常常被其它框架所使用。Accelerate框架包含數(shù)字信號(hào)趟畏,線性代數(shù)贡歧,圖像處理的接口。針對(duì)所有的iOS設(shè)備硬件之間的差異做優(yōu)化赋秀,保證寫(xiě)一次代碼在所有iOS設(shè)備上高效運(yùn)行利朵。CoreBluetooth框架利用藍(lán)牙和外設(shè)交互,包括掃描連接藍(lán)牙設(shè)備猎莲,保存連接狀態(tài)绍弟,斷開(kāi)連接,獲取外設(shè)的數(shù)據(jù)或者給外設(shè)傳輸數(shù)據(jù)等等著洼。Security框架提供管理證書(shū)樟遣,公鑰和私鑰信任策略,keychain,hash認(rèn)證數(shù)字簽名等等與安全相關(guān)的解決方案身笤。

Core Services Layer,系統(tǒng)服務(wù)層提供給應(yīng)用所需要的基礎(chǔ)的系統(tǒng)服務(wù)年碘。如Accounts賬戶(hù)框架,廣告框架展鸡,數(shù)據(jù)存儲(chǔ)框架屿衅,網(wǎng)絡(luò)連接框架,地理位置框架莹弊,運(yùn)動(dòng)框架等等涤久。這些服務(wù)中的最核心的是CoreFoundation和Foundation框架,定義了所有應(yīng)用使用的數(shù)據(jù)類(lèi)型忍弛。CoreFoundation是基于C的一組接口响迂,F(xiàn)oundation是對(duì)CoreFoundation的OC封裝。

Media Layer,媒體層提供應(yīng)用中視聽(tīng)方面的技術(shù)细疚,如圖形圖像相關(guān)的CoreGraphics,CoreImage,GLKit,OpenGL ES,CoreText,ImageIO等等蔗彤。聲音技術(shù)相關(guān)的CoreAudio,OpenAL,AVFoundation,視頻相關(guān)的CoreMedia,Media Player框架,音視頻傳輸?shù)腁irPlay框架等等。

Cocoa Touch Layer,觸摸層提供應(yīng)用基礎(chǔ)的關(guān)鍵技術(shù)支持和應(yīng)用的外觀然遏。如NotificationCenter的本地通知和遠(yuǎn)程推送服務(wù)贫途,iAd廣告框架,GameKit游戲工具框架待侵,消息UI框架丢早,圖片UI框架,地圖框架秧倾,連接手表框架怨酝,自動(dòng)適配等等

在上面所有的框架中,最重要也最經(jīng)常使用的就是UIKit和Foundation框架那先。Foundation框架提供許多基本的對(duì)象類(lèi)和數(shù)據(jù)類(lèi)型农猬,使其成為應(yīng)用程序開(kāi)發(fā)的基礎(chǔ),為所有應(yīng)用程序提供最基本的系統(tǒng)服務(wù),和界面無(wú)關(guān)售淡。 UIKit框架提供的類(lèi)是基礎(chǔ)的UI類(lèi)庫(kù)斤葱,用于創(chuàng)建基于觸摸的用戶(hù)界面,所有 iOS 應(yīng)用程序都是基于 UIKit勋又,它提供應(yīng)用程序的基礎(chǔ)架構(gòu)苦掘,用于構(gòu)建用戶(hù)界面,繪圖楔壤、處理和用戶(hù)交互事件鹤啡,響應(yīng)手勢(shì)等等。UIKit通過(guò)控制器對(duì)象管理屏幕上顯示的內(nèi)容蹲嚣,界面的跳轉(zhuǎn)递瑰,來(lái)組織應(yīng)用程序。沒(méi)有UIKit框架就沒(méi)有iOS應(yīng)用程序隙畜。



鏈接:http://www.reibang.com/p/e01e2512c12b

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末抖部,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子议惰,更是在濱河造成了極大的恐慌慎颗,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件言询,死亡現(xiàn)場(chǎng)離奇詭異俯萎,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)运杭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)夫啊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人辆憔,你說(shuō)我怎么就攤上這事撇眯”ㄇ叮” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵熊榛,是天一觀的道長(zhǎng)锚国。 經(jīng)常有香客問(wèn)我,道長(zhǎng)来候,這世上最難降的妖魔是什么跷叉? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任逸雹,我火速辦了婚禮营搅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘梆砸。我一直安慰自己转质,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布帖世。 她就那樣靜靜地躺著休蟹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪日矫。 梳的紋絲不亂的頭發(fā)上赂弓,一...
    開(kāi)封第一講書(shū)人閱讀 52,156評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音哪轿,去河邊找鬼盈魁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛窃诉,可吹牛的內(nèi)容都是我干的杨耙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼飘痛,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼珊膜!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起宣脉,我...
    開(kāi)封第一講書(shū)人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤车柠,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后塑猖,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體竹祷,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年萌庆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了溶褪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡践险,死狀恐怖猿妈,靈堂內(nèi)的尸體忽然破棺而出吹菱,到底是詐尸還是另有隱情,我是刑警寧澤彭则,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布鳍刷,位于F島的核電站,受9級(jí)特大地震影響俯抖,放射性物質(zhì)發(fā)生泄漏输瓜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一芬萍、第九天 我趴在偏房一處隱蔽的房頂上張望尤揣。 院中可真熱鬧,春花似錦柬祠、人聲如沸北戏。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)嗜愈。三九已至,卻和暖如春莽龟,著一層夾襖步出監(jiān)牢的瞬間蠕嫁,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工毯盈, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留剃毒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓奶镶,卻偏偏與公主長(zhǎng)得像迟赃,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子厂镇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 6轉(zhuǎn)載-->>IOS框架和服務(wù) 在iOS中框架是一個(gè)目錄纤壁,包含了共享資源庫(kù),用于訪問(wèn)該資源庫(kù)中儲(chǔ)存的代碼的頭文件捺信,...
    李小六_閱讀 3,617評(píng)論 2 24
  • 轉(zhuǎn)載:http://blog.csdn.net/lover870920/article/details/50350...
    vicki753閱讀 2,707評(píng)論 0 4
  • 在iOS中框架是一個(gè)目錄酌媒,包含了共享資源庫(kù),用于訪問(wèn)該資源庫(kù)中儲(chǔ)存的代碼的頭文件迄靠,以及圖像秒咨、聲音文件等其他資源。共...
    ch123閱讀 1,780評(píng)論 0 1
  • 在iOS中框架是一個(gè)目錄掌挚,包含了共享資源庫(kù)雨席,用于訪問(wèn)該資源庫(kù)中儲(chǔ)存的代碼的頭文件,以及圖像吠式、聲音文件等其他資源陡厘。共...
    wo不懂閱讀 1,430評(píng)論 3 3
  • 正午太陽(yáng)火辣辣地鑲在天空糙置,我在燥熱的空氣里云茸,像根冰棍兒。 我害怕春天像風(fēng)一樣襲來(lái)谤饭,可春天沒(méi)來(lái)标捺。 一我曾經(jīng)不止一次地...
    時(shí)光煮酒話清淺閱讀 197評(píng)論 0 0