有時(shí)候赊琳,類必須先執(zhí)行某些初始化操作决采,然后才能正常使用道批。在Objective-C中磅废,絕大多數(shù)類都繼承自NSObject這個(gè)根類题翰,而該類有兩個(gè)方法映穗,...
單例模式(singleton)對Objective-C開發(fā)者來說并不陌生窖张,常見的實(shí)現(xiàn)方式為: 在類中編寫名為sharedInstance的方法,...
Objective-C本質(zhì)上是一門非常動態(tài)的語言宿接,NSObject定義了幾個(gè)方法赘淮,令開發(fā)者可以隨意調(diào)用任何方法。這幾個(gè)方法可以推遲執(zhí)行方法調(diào)用睦霎,...
每個(gè)塊都具備其"固有類型"梢卸,因而可將其賦給適當(dāng)類型的變量。這個(gè)類型由塊所接受的參數(shù)及其返回值組成副女。 此塊接受兩個(gè)類型分別為BOOL及int的參數(shù)...
當(dāng)前多線程編程的核心就是"塊"(block)與"大中樞派發(fā)"(Grand Central Dispatch, GCD)蛤高。這雖然是兩種不同的技術(shù),...
調(diào)試內(nèi)存管理問題很令人頭疼碑幅。向業(yè)已回收的對象發(fā)送消息是不安全的戴陡。這么做有時(shí)可以,有時(shí)不行沟涨。具體可行與否恤批,完全取決于對象所占內(nèi)存有沒有為其他內(nèi)容所...
Objective-C代碼經(jīng)常出現(xiàn)一些情況,就是幾個(gè)對象都以某種方式互相引用拷窜,從而形成"環(huán)"(cycle)开皿。由于Objective-C內(nèi)存管理模...
對象在經(jīng)歷其聲明周期后涧黄,最終會為系統(tǒng)所回收篮昧,這時(shí)就要執(zhí)行dealloc方法了。在每個(gè)對象的生命期內(nèi)笋妥,此方法僅執(zhí)行一次懊昨,也就是當(dāng)保留計(jì)數(shù)降為0的時(shí)...
引用計(jì)數(shù)這個(gè)概念相當(dāng)容易理解(參見第29條)。需要執(zhí)行保留與釋放操作的地方也很容易就能看出來春宣。所以Clang編譯器項(xiàng)目帶有一個(gè)"靜態(tài)分析器"(s...