国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

#文檔名:用Objective-C編程

2019-11-14 18:34:34
字體:
供稿:網(wǎng)友

#文檔名:用 Objective-C 編程

##關(guān)于Objective-C(簡稱OC)

給iOS和OS X寫程序的時候,Objective-C是程序員使用的主要語言。OC是C語言的一個擴(kuò)展集,提供了面向?qū)ο蟮奶匦院鸵粋€動態(tài)運行時。
OC的語法,基本類型,控制流語句也都是從C語言繼承而來,并且還加入了定義類和方法的語法。OC也添加了語言級別的對象圖形管理和對
象標(biāo)示符支持,來提供動態(tài)分型和動態(tài)綁定,把很多事情延遲到運行時。

###內(nèi)容驚鴻一瞥

本文檔介紹了OC語言和一些擴(kuò)展的例子。學(xué)習(xí)怎么創(chuàng)建自定的類來描述對象,如何使用Cocoa和Cocoa Touch提供的框架類。雖說框架時獨立
與語言存在的,但是很多的特性和框架類密不可分。

###一個App是用對象的網(wǎng)絡(luò)構(gòu)建起來的

寫iOS和OS X的App,主要就是和對象打交道。對象是OC類的實例,有Cocoa提供的類,也有自己定義的類。

如果你要開始創(chuàng)建自己的類,就開始從描述那個類下手,自習(xí)想想這個類的實例對象的公共接口是什么樣子的。這個接口包括了封裝了相關(guān)
數(shù)據(jù)的共用屬性,還有一系列方法。方法的聲明顯示的是對象可以接受的消息,在任何時候被調(diào)用的時候方法可以接受的參數(shù)信息。自定類
中還要包括一個實現(xiàn),視線中包括了之前在接口中聲明的所有方法的可執(zhí)行代碼。

###用“分類”來擴(kuò)展現(xiàn)有的類
為了給現(xiàn)有的類增加一點小功能,犯不上創(chuàng)建一個全新的類,可以通過定義一個“分類”來給現(xiàn)有的類增加自定的行為。使用分類可以給任
何類增添方法,即使是框架里面的那些你沒有源代碼的類,比如NSString。

如果你擁有現(xiàn)有類的源代碼,可以使用一個類擴(kuò)展來增加新的屬性,或者說修改現(xiàn)有的屬性。類擴(kuò)展經(jīng)常用來吧一個私有行為隱藏在單個源
文件或者一個自定的框架實現(xiàn)中。

###“協(xié)議”定義消息規(guī)范
OC程序里最常發(fā)生的操作其實是對象之間互相發(fā)消息。一般來說,這些消息是通過方法的形式顯式地定義在類的接口中。但是有時候,一組
相關(guān)的類是不一定是直接綁定在某個特定的類上的。

OC使用協(xié)議來定義一組相關(guān)的方法,比如那些對象會在委托中調(diào)用的方法,可以設(shè)置成必須實現(xiàn)也可以設(shè)置成可選實現(xiàn)。任何類都可以選擇
實現(xiàn)一個協(xié)議,也就是說,這個類必須要實現(xiàn)協(xié)議中定義的必須實現(xiàn)的方法。

###值類和集合類常被包裝成OC對象
一般OC會用Cocoa中的類來表示值類。NSString類用來表示字符串,NSNumber類用來包裝整型或浮點型數(shù)字,NSValue類則用來包裝其他的類
型,比如C語言的結(jié)構(gòu)體。你也可以使用C語言中的基本類型,比如int,float,或者char。

集合類會包裝成Cocoa集合類的實例來使用,比如NSArray數(shù)組,NSSet集合,或者NSDictionary字典,都可以用來作為OC對象的集合。

###“代碼塊”簡化一般任務(wù)

代碼塊是C,OC,C++都已經(jīng)引入的語言特性,用來代表一個工作單元;代碼塊會用一對花括號包裝一塊代碼,看上去很像其他語言里的閉包
。代碼塊經(jīng)常用來簡化一般的任務(wù)操作,比如集合類中的枚舉,排序,測試操作。代碼塊也可以使得使用GCD技術(shù)的并發(fā)或者異步的多任務(wù)
操作變得更簡單。

###用在運行時問題的Error對象

雖然OC包含了異常處理的語法,但是Cocoa只會在出現(xiàn)編譯時錯誤的時候使用異常(比如數(shù)組訪問越界),這些問題在App發(fā)布之前就應(yīng)該修
正。

所有其他的錯誤,運行時錯誤,比如磁盤空間溢出或者網(wǎng)絡(luò)服務(wù)故障,都被包裝成NSError類的實例。你的程序應(yīng)該有所準(zhǔn)備并且做出處理
,來確保良好的用戶體驗。

###OC代碼要遵循現(xiàn)有的代碼規(guī)范

寫OC代碼,應(yīng)該時刻記住幾條代碼規(guī)范。方法名應(yīng)該小寫字母開頭,之后用駝峰命名,蔽日doSomething和doSomethingElse。這不是說大寫
字母有多重要,而是要確保你的代碼具有一定的可讀性,方法的名稱應(yīng)該具有意義,但是也不要太過冗長。

另外,有一些規(guī)則在使用框架或者語言特性的時候是必須遵守的。比如屬性訪問器方法必須遵守嚴(yán)格的命名規(guī)范以配合比如KVC和KVO這些技
術(shù)。

##前導(dǎo)知識

如果你是開發(fā)新手,在學(xué)習(xí)這份文檔之前,先去看看Start Developing iOS Apps Today文檔,對iOS程序開發(fā)有一個通盤的了解。另外你還
要比較熟悉Xcode的基本用法,Xcode是開發(fā)程序的IDE工具;用Xcode來寫代碼,設(shè)計界面,測試應(yīng)用,調(diào)試程序等等。

在語言上,有一些C語言基礎(chǔ)或者基于C語言的系列語言的知識是不錯的,本文檔中確實包含了一些C語言的流程控制語句的示例代碼。如果
你有其他的高級語言的經(jīng)驗,比如ruby或者Python,那也是可以的,接著往下吧。

另一個基本的前導(dǎo)知識是面向?qū)ο蟮囊恍┗靖拍睿约耙恍┮话愕拿嫦驅(qū)ο蟮幕驹瓌t。要是完全沒概念,推薦先去看相關(guān)章節(jié) OC編程
概念。

OC使用ARC來管理對象的生命周期,ARC會管好這些事情,但是要是你沒辦法使用ARC,就需要自己關(guān)心好這些內(nèi)存管理的事情,你應(yīng)該看看
Advanced Memory Management PRogramming Guide文檔。

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 襄城县| 中江县| 镇康县| 修水县| 龙井市| 胶南市| 宣恩县| 江达县| 芒康县| 青河县| 华安县| 祥云县| 奉贤区| 民勤县| 若尔盖县| 渭南市| 昭平县| 武清区| 镇康县| 嘉善县| 行唐县| 兰西县| 灵武市| 临汾市| 抚远县| 鹤山市| 中江县| 从化市| 盐津县| 永靖县| 阿瓦提县| 鄂伦春自治旗| 凉城县| 阿鲁科尔沁旗| 郁南县| 宣化县| 哈尔滨市| 麻江县| 富川| 嘉峪关市| 望奎县|