alloc
創(chuàng)建對象变骡,分配內(nèi)存空間
init(initwithNibName)
初始化對象,尋找有沒有可用的NIB文件挣棕,如果有就可以直接使用NIB文件的視圖控制器view視圖(initWithCoder是一個類在IB中創(chuàng)建但在xocde中被實例化時被調(diào)用的.比如,通過IB創(chuàng)建一個controller的nib文件,然后在xocde中通過initWithNibName來實例化這個controller,那么這個controller的initWithCoder會被調(diào)用辛孵。),然后調(diào)用loadView方法洲守,如果沒有直接調(diào)用loadView方法。
loadView
無論XIB還是代碼創(chuàng)建都會調(diào)用loadView方法沾凄,每次訪問UIViewController的view(比如controller.view梗醇、self.view)而且view為nil,loadView方法就會被調(diào)用撒蟀。
loadView方法做的事情:
1> 它會先去查找與UIViewController相關(guān)聯(lián)的xib文件叙谨,通過加載xib文件來創(chuàng)建UIViewController的view。
- 如果在初始化UIViewController指定了xib文件名保屯,就會根據(jù)傳入的xib文件名加載對應(yīng)的xib文件手负。
- 如果沒有明顯地傳xib文件名涤垫,就會加載跟UIViewController同名的xib文件。
2> 如果沒有找到相關(guān)聯(lián)的xib文件虫溜,就會創(chuàng)建一個空白的UIView雹姊,然后賦值給UIViewController的view屬性
總結(jié)一句話,蘋果設(shè)計這個方法就是給我們自定義UIViewController的view用的
**loadView方法只是創(chuàng)建一個view衡楞,并沒有將view加入內(nèi)存
viewDidLoad
無論你是通過xib文件還是重寫loadView方法創(chuàng)建UIViewController的view吱雏,在view創(chuàng)建完畢后,最終都會調(diào)用viewDidLoad方法瘾境。
viewWillAppear
view將要顯示時執(zhí)行該方法歧杏。
viewDidAppear
view顯示時執(zhí)行該方法。
viewWillDisappear
view將要消失時執(zhí)行該方法迷守。
viewDidDisappear
view消失時執(zhí)行該方法犬绒。
delloc
視圖控制器釋放時執(zhí)行該方法。