資源描述:
《淺談ios程序開發(fā)objectivec及xcode完整版本》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、iOS程序開發(fā)——Objective-C及Xcode4摘要iOS是由蘋果公司開發(fā)的操作系統(tǒng),它主要是給iPhone、iPodtouch以及iPad使用。iOS的系統(tǒng)架構(gòu)分為四個層次:核心操作系統(tǒng)層(theCoreOSlayer),核心服務(wù)層(theCoreServiceslayer),媒體層(theMedialayer),可輕觸層(theCocoaTouchlayer)。應(yīng)用程序由Objective-C語言開發(fā),可控元件有GPS模塊、光線傳感器、加速度傳感器、地磁感應(yīng)器、電子羅盤包括一些多媒體設(shè)備等。矚慫
2、潤厲釤瘞睞櫪廡賴。關(guān)鍵詞:ios系統(tǒng)Objective-CXcode4聞創(chuàng)溝燴鐺險愛氌譴凈。隨著電子科技的發(fā)展,裝載有ios系統(tǒng)的智能終端成為市場的寵兒,ios系統(tǒng)的應(yīng)用軟件市場需求量越來越大,相應(yīng)的APPStore的應(yīng)用程序超過42萬個,覆蓋了書籍類、游戲類、其他娛樂、教育、生活方式等多個領(lǐng)域?,F(xiàn)有的ios應(yīng)用程序遠(yuǎn)不能滿足人們的要求,基于IOS的接口適配器模塊及程序開發(fā)可以為原終端提供擴(kuò)展,可以實現(xiàn)智能終端對硬件外設(shè)的操控,擴(kuò)大應(yīng)用范圍,是人類生活更方便。殘騖樓諍錈瀨濟(jì)溆塹籟。這篇文章我根據(jù)Apple
3、DevCenter的技術(shù)資料,加上自己的理解總結(jié)而成的文章。之前看過iPhoneOS的gettingstarted系列文章的第一篇文章,應(yīng)該總結(jié)一下。釅錒極額閉鎮(zhèn)檜豬訣錐。?iPhoneOS由兩部分組成:操作系統(tǒng)和支持iPhone和iPodtouch設(shè)備上運行原生程序的技術(shù)集。iPhoneOS繼承自MacOSX,而且很多底層技術(shù)是共享的,但是iPhoneOS是為移動設(shè)備而設(shè)計,有些技術(shù)是在iPhoneOS上獨有的,比如多觸點技術(shù)。彈貿(mào)攝爾霽斃攬磚鹵廡。??運行在內(nèi)核之上,iPhoneOS可以分成四層。如圖
4、:CoreService層和CoreOS層負(fù)責(zé)和內(nèi)核打交道(自己的理解),這兩層是基于C語言的。提供底層接口支持,包括網(wǎng)絡(luò)套接字、POSIX線程、文件的訪問等等。謀蕎摶篋飆鐸懟類蔣薔。Media層支持音頻、視頻及2D/3D繪圖等多媒體相關(guān)服務(wù)。包含的技術(shù)有基于C語言的OpenGLES等。同時這層還包含基于Object-C語言的動畫引擎,使用動畫的相關(guān)服務(wù),應(yīng)該就用到這層的服務(wù)。廈礴懇蹣駢時盡繼價騷。CocoaTouch層是最常用到的服務(wù)層,可以使用這層提供的框架來進(jìn)行程序開發(fā),UIKit框架是圖形界面程序
5、的框架,利用它可以創(chuàng)建類似的應(yīng)用。開始學(xué)習(xí)iPhoneOS的編程技術(shù)是,應(yīng)該先從這一層提供的框架開始學(xué)習(xí),當(dāng)掌握之后,在學(xué)習(xí)底層的接口和編程技術(shù)。煢楨廣鰳鯡選塊網(wǎng)羈淚。iPhoneOS的事件處理模型是一個里程碑,引入了觸摸事件,這里說的觸摸事件和傳統(tǒng)的觸摸事件有很大不同。傳統(tǒng)的觸摸事件只支持一個點的事件,但是iPhoneOS的觸摸事件支持多點的觸摸事件,所以事件的處理模型是一個非常大的技術(shù)創(chuàng)新。鵝婭盡損鵪慘歷蘢鴛賴。以上對ios有了一些大概的了解,接下去講講它的開發(fā)工具Objective-C及Xcode4
6、。1、Objective-C的介紹及應(yīng)用Objective-C是非?!皩嶋H”的語言。它使用一個用C寫成、很小的運行庫,只會令應(yīng)用程序的大小增加很小,和大部分OO系統(tǒng)使用極大的VM執(zhí)行時間會取代了整個系統(tǒng)的運作相反。ObjC寫成的程序通常不會比其原始碼大很多。而其函式庫(通常沒附在軟件發(fā)行本)亦和Smalltalk系統(tǒng)要使用極大的內(nèi)存來開啟一個窗口的情況相反?;[叢媽羥為贍僨蟶練淨(jìng)。Objective-C的最初版本并不支持垃圾回收。在當(dāng)時這是爭論的焦點之一,很多人考慮到Smalltalk回收時有漫長的“死亡時
7、間”,令整個系統(tǒng)失去功用。Objective-C為避免此問題才不擁有這個功能。雖然某些第三方版本已加入這個功能(尤是GNUstep),?Apple在其MacOSX?10.3中仍未引入這個功能。不過令人欣慰的是在Apple發(fā)布的xCode4中已經(jīng)支持自動釋放啦,我不敢冒昧地說那是垃圾回收,因為兩者機(jī)制不同,在xCode4中的自動釋放,也就是ARC(AutomaticReferenceCounting)機(jī)制,是不需要用戶手動去Release一個對象,而是在編譯期間,編譯器會自動幫你添加那些以前你經(jīng)常寫的[NS
8、Objectrelease]。預(yù)頌圣鉉儐歲齦訝驊糴。另一個問題是ObjC不包括命名空間機(jī)制(namespacemechanism)。取而代之的是程序設(shè)計師必須在其類別名稱加上前綴,時常引致沖突。在2004年,在Cocoa編程環(huán)境中,所有MacOSX類別和函式均有“NS”作為前綴,例如NSObject或NSButton來清楚分別它們屬于MacOSX核心;使用“NS”是由于這些類別的名稱在NeXTSTEP開發(fā)時定下。滲釤嗆儼勻諤鱉