第1章:熟悉Objective-C 第4條:多用類型常量,少用#define預(yù)處理指令 聲明類型常量好處是,編譯器可以知道此變量的類型,且可以防止外部隨意修改 聲明規(guī)則:全局...
第1章:熟悉Objective-C 第4條:多用類型常量,少用#define預(yù)處理指令 聲明類型常量好處是,編譯器可以知道此變量的類型,且可以防止外部隨意修改 聲明規(guī)則:全局...
內(nèi)存管理篇:1.引用計數(shù)的思考方式 自動引用計數(shù) 支持條件:clang(LLVM編譯器)3.0版本以上objc4 OC運行時庫 493.9版本以上編譯器設(shè)置中置為“ARC有效...
內(nèi)存管理篇: 2.alloc/retain/release/dealloc的實現(xiàn) GNUstep的實現(xiàn)方式 GNUstep的版本將引用計數(shù)與對象的內(nèi)存組合在一起,方便讀寫存取...
內(nèi)存管理篇: 3.autorelease autorelease的實質(zhì):將創(chuàng)建的對象加入到NSAutoreleasePool管理“數(shù)組”中,并告知ARC系統(tǒng)暫時不要對此對象進...
內(nèi)存管理篇: 4.ARC的所有權(quán)修飾符 所有權(quán)修飾符 在ARC下,對象必須通過所有權(quán)修飾符進行修飾,系統(tǒng)會根據(jù)不同的所有權(quán)修飾符對對象進行相應(yīng)的內(nèi)存管理。所有權(quán)修飾符包括:_...
內(nèi)存管理篇: 6.不要使用靜態(tài)和動態(tài)數(shù)組(非OC集合對象) 靜態(tài)數(shù)組(類似于c數(shù)組,非OC的集合對象): 使用__strong、__weak和__autoreleasing修...
內(nèi)存管理篇: 5.ARC的規(guī)則補充 ARC的方法命名 我們都知道,在內(nèi)存管理的思考方式中,當方法命名以“alloc、new、copy、mutableCopy”開頭或直接命名時...
內(nèi)存管理篇:7.ARC實現(xiàn)之__strong及autorelease優(yōu)化 對于持有非自己創(chuàng)建的對象的情況,我們知道,這種情況是指對于非“alloc、new、copy和muta...
內(nèi)存管理篇:8.ARC實現(xiàn)之__weak 我們知道,weak修飾的變量,其地址是被存儲在一個專用的散列表中,此散列表的鍵值為原內(nèi)存的散列值(即對象地址的hash值)。 __w...