一,分配對象。
分配是一個樣的對象誕生的過程。最美好的時刻,是從操作系統獲得一塊內存并將其指定為存放對象的實例變量的位置。向某個類發送alloc消息的結果,就是為該類分配一塊足夠大的內存,以存放該內的全部實例變量。同時,alloc方法還順便將這塊內存區域全部初始化為0.由于未初始化內存而引起的各種各樣的隨機bug曾經折磨著許多語言,而alloc方法將分配的內存初始化為0,所有的float類型變量被初始化為0.0,所有的指針被初始化為nil,所有的基地都屬于我們了。
二,初始化對象。
初始化從操作系統取得一塊內存,準備用于存儲對象,init方法(即執行初始化操作的方法)幾乎總是返回它們正在初始化的對象。
三,小結。
在Cocoa中,分配和初始化是兩個分離的操作:來自NSObject的類方法alloc為對象分配一塊內存區域并將其清零,實例方法init用于獲得一個對象并使其運行。
參考資料:《Objective-C基礎教程》
新聞熱點
疑難解答