国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > 什么是cocoa和cocoa Touchios?

什么是cocoa和cocoa Touchios?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-10-11 18:42:25 1697020945

一、什么是cocoa和cocoa Touchios

1、Cocoa

Cocoa是一種為Mac OS X應用程序提供豐富用戶體驗的框架,實際上是由3個框架組成:已知數(shù)值的Foundation框架,便于使用數(shù)據(jù)庫存儲和管理數(shù)據(jù)的Core Data框架,以及Application Kit(AppKit)框架。AppKit框架提供了與窗口、按鈕、列表等相關(guān)的類。使用示意圖來說明最頂層應用程序與底層硬件之間的各個層次。
程序與底層硬件的層次

(1)內(nèi)核以設(shè)備驅(qū)動程序的形式提供與硬件的底層通信。它負責管理系統(tǒng)資源,包括調(diào)度需要執(zhí)行的程序、管理內(nèi)存和電源,以及執(zhí)行基本的I/O操作。

(2)核心服務(wù)提供的支持比它上面的層次更加”核心“。例如,提供對集合、網(wǎng)絡(luò)、調(diào)試、文件管理、文件夾、內(nèi)存管理、線程、時間合電源的管理。

(3)應用服務(wù)層包含打印和圖形渲染的支持,包括Quartz、OpenGL和Quicktime。

(4)Cocoa層位于應用程序之下。如圖所示,Cocoa包括Foundation、Core Data和AppKit框架。Foundation框架提供處理集合、字符串、內(nèi)存管理、文件系統(tǒng)、存檔等相關(guān)的類。AppKit框架提供管理視圖、窗口、文檔和使Mac OS X聞名于世的多用戶界面相關(guān)的類。

根據(jù)上面的描述,有些層的功能似乎有重復。Cocoa層和核心服務(wù)層中都存在集合。然而。后者是前者的基礎(chǔ)。此外,某些情形也可以繞過或者”橋接“到某一層。例如Foundatio中有些類,比如處理文件系統(tǒng)的那些類直接依賴核心服務(wù)層的功能,實際上繞過了應用程序服務(wù)層。

2、Cocoa Touch

Cocoa框架應用與Mac OS X桌面與筆記本電腦應用程序的開發(fā),而Cocoa Touch框架應用與iOS設(shè)備上應用程序的開發(fā)。Cocoa和Cocoa Touch都有Foundation和Core Data框架,然而在Cocoa Touch下,UIKit代替了AppKit框架,提供了很多相同的類型的對象支持、比如窗口、視圖、按鈕、文本域等。另外,Cocoa Touch還提供使用陀螺儀和加速器(它與GPS和?WIFI?信號一樣都能跟蹤你的位置)的類和觸摸式界面,去掉了不需要的類。
Cocoa Touch 框架推動了iOS應用開發(fā),為開發(fā)者提供了很多 Mac 平臺上久經(jīng)考驗的模式,同時又特別專注于基于觸摸的開發(fā)接口和性能優(yōu)化。

大部分Cocoa Touch的功能是用Objective-C實現(xiàn)的,其中,UIKit 提供了開發(fā) iOS 上的圖形化事件驅(qū)動程序所需的基本工具。UIKit 基于 Foundation 框架,該框架同樣存在于 Mac OS X 系統(tǒng)中,提供了文件處理、網(wǎng)絡(luò)、字符串處理以及其他基礎(chǔ)架構(gòu)。除了UIKit之外,Cocoa Touch 包含創(chuàng)建世界優(yōu)異 iOS 應用程序所需的所有框架,從 3D 圖形、專業(yè)音頻到網(wǎng)絡(luò),甚至提供特殊設(shè)備訪問 API 以控制攝像機或從 GPS 硬件獲取位置。Cocoa Touch 既包含只需要幾行代碼就可以完成全部任務(wù)的強大的 Objective-C 框架,也在需要時提供基礎(chǔ)的 C 語言 API 來直接訪問系統(tǒng)。這些框架示例包括:

‘Core Animation’:通過 ‘Core Animation’,

您就可以通過基于組合獨立圖層的簡單編程模型來創(chuàng)建豐富的用戶體驗。

‘Core Audio:Core Audio’是播放、處理和錄制音頻的專業(yè)級技術(shù),

能夠輕松為您的應用程序添加強大的音頻功能。

‘Core Data:Core Data’ 提供面向?qū)ο蟮臄?shù)據(jù)管理解決方案,

該方案易于使用和理解,甚至可處理任何應用或大或小的數(shù)據(jù)模型。’

Cocoa Touch框架還提供兩種內(nèi)存管理方式,一種自動內(nèi)存計數(shù)ARC(Automatic Reference Counting ),另一種手動引用技術(shù)(manual reference counting)。對于后一種需要程序員自己retain和release,其原則是“責任落實”,誰創(chuàng)建了對象(或保留了以創(chuàng)建的對象),誰就是該對象的擁有方,不再使用時,則要負責釋放該所有權(quán)。

延伸閱讀:

二、 cocoa與cocoa Touch區(qū)別之分

兩者都包含OC運行時的兩個核心框架;

cocoa包含F(xiàn)oundation和AppKit框架,可用于開發(fā)Mac OS X系統(tǒng)的應用程序

cocoa touch包含F(xiàn)oundation和UIKit框架,可用于開發(fā)iPhone OS 系統(tǒng)的應用程序;

Cocoa是Mac OS X的開發(fā)環(huán)境,cocoa Touch是Iphone OS的開發(fā)環(huán)境。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT