objective-c 的代碼規(guī)范

該內(nèi)容摘自《Effective Objective-C 2.0? 編寫(xiě)高質(zhì)量iOS與OS X代碼的52個(gè)有效方法.pdf》,作為讀書(shū)的筆記。

1.在類(lèi)的頭文件中盡量少引入其他的頭文件


2、多用字面量,少用與之等價(jià)的方法


? ??

3、多用類(lèi)型常量,少用#define預(yù)處理指令

例如:

將#define ANIMTION_DURATION= 3.0替換成

static const NSTimeIntrval KAnimtionDuration = 3;


若不打算公開(kāi)某個(gè)常量就應(yīng)該將該常量定義在類(lèi)的實(shí)現(xiàn)文件中

如果想對(duì)外公開(kāi)某個(gè)常量,比如發(fā)出某個(gè)通知,但外界不用關(guān)心真正通知的名稱(chēng),則應(yīng)該這樣寫(xiě):

在頭文件中:

extern NSString *const NotificationName;

在實(shí)現(xiàn)文件中:

NSString *const NotificationName = @"VAULE";


4、使用枚舉表示狀態(tài)和選擇等。


5、理解“屬性”的概念

采用屬性的方式定義實(shí)例變量,系統(tǒng)會(huì)自動(dòng)在編譯的時(shí)期給該類(lèi)添加上屬性所對(duì)應(yīng)的實(shí)例變量,并且在變量名前加上"_",還會(huì)生成setter和戈塔特人方法;

可以在實(shí)現(xiàn)文件中通過(guò)@synthesize方法重新指定實(shí)例變量的名字。

也可以使用@dynamic關(guān)鍵字,讓編譯器不用創(chuàng)建屬性需要的實(shí)例變量,和創(chuàng)建存取方法,

屬性的特性:

原子性,讀寫(xiě)權(quán)限,內(nèi)存管理語(yǔ)義(strong,weak,assgin,retain,copy)

方法名(gtter = <name> setter = <name>)

6、在對(duì)象內(nèi)部盡量直接訪(fǎng)問(wèn)實(shí)例變量


7.對(duì)象等同性

8、coco中的族類(lèi)


9、在既有的類(lèi)里采用關(guān)聯(lián)對(duì)象存放自定義的數(shù)據(jù)





最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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