initwithcoder
- (id)initwithcoder:(nscoder *)adecoder
return
self;
}
viewdidload
- (void)viewdidload
}
} awakefromnib
-(void)awakefromnib
viewwilllayoutsubviews
-(void)viewwilllayoutsubviews
viewdidlayoutsubviews
-(void)viewdidlayoutsubviews
然後在模擬器上執行,執行結果如下:
initwithcoder called所以,呼叫順序為awakefromnib called
viewdidload called
viewwilllayoutsubviews called
viewdidlayoutsubviews called
init函式(init;initwithframe;initwithcoder;等)--初始化
awakefromnib--在loadview之前的工作放在這裡
viewdidload--注意,乙個viewcontroller乙個生命週期內這個函式只會呼叫一次
viewwilllayoutsubviews--將要對子檢視進行布局
viewdidlayoutsubivews--完成對子檢視布局
這九個就是通常的檢視控制器生命週期內函式呼叫順序,一定要清楚什麼樣的**應該放在檢視控制器生命週期的什麼位置
控制器的生命週期
import mjoneviewcontroller.h inte ce mjoneviewcontroller property nonatomic strong nsarray property nonatomic strong nsarray persons end implementatio...
控制器的生命週期
關於viewdidunload 在發生記憶體警告的時候如果本檢視不是當前螢幕上正在顯示的檢視的話,viewdidunload將會被執行,本檢視的所有子檢視將被銷毀,以釋放記憶體,此時開發者需要手動對viewload viewdidload中建立的物件釋放記憶體。因為當這個檢視再次顯示在螢幕上的時候,...
控制器的生命週期
當乙個檢視控制器被建立,並在螢幕上顯示的時候。的執行順序 1 alloc建立物件,分配空間 2 init initwithnibname 初始化物件,初始化資料 3 loadview從nib載入檢視,通常這一步不需要去干涉。除非你沒有使用xib檔案建立檢視 4 viewdidload載入完成,可以進...