Objective-C學習筆記(二十八)——對alloc和init的理解

乞力馬紮羅的雪CYF發表於2015-09-18

     我們在OC中進行物件的初始化的時候,往往會用到兩個方法,就是alloc和init。這到底是兩個什麼方法呢?

(1)在OC專案中新建一個類People.然後在main.m中進行初始化。注意People類是繼承自NSObject的。初始化People物件的程式碼如下:

People *people = [[People alloc] init];

(2)按住Command和滑鼠左鍵,進入alloc方法,可以看到alloc方法的宣告如下:

+ (instancetype)alloc;

同時發現此時是在NSObject.h中,表示alloc方法是一個類方法,我們的People類是繼承自NSObject的,所以在People類中也有這個alloc分配記憶體的方法,並且這是一個類方法。


(3)同時進入init方法,可以發現init方法也是在NSObject.h中宣告的,這個是一個物件方法,所以可以知道我們在使用  People alloc的時候,會返回一個物件,然後這個物件才去呼叫init初始化方法。

- (instancetype)init;



github主頁:https://github.com/chenyufeng1991  。歡迎大家訪問!



相關文章