工作中一直寫viewcontroller,但是對它的生命週期一直沒有乙個比較完整地理解,最近看了幾篇部落格,在這裡對viewconroller的生命週期做乙個總結,一是為了自己學習,二是為了給大家乙個參考,如有錯誤,歡迎指正。
1.alloc
建立物件,分配空間
2. init;
初始化物件,初始化資料
3. loadview
從nib載入檢視
4. viewdidload
控制器載入完成,可以進行自定義資料,以及動態建立其他控制項
檢視出現在螢幕之前,馬上這個檢視就會被展現在螢幕上了
檢視已在螢幕上渲染完成
檢視將被從螢幕上移除之前執行
檢視已經被從螢幕上移除,使用者看不見這個檢視了
3. dealloc
檢視被銷毀,釋放在init和viewdidload中建立的物件
1> -(void)viewdidload
2> -(void)viewdidunload
在記憶體足夠的情況下,軟體的檢視通常會一直儲存在記憶體中,但是如果記憶體不夠,一些沒有正在顯示的viewcontroller就會收到記憶體不夠的警告,然後就會釋放自己擁有的檢視,以達到釋放記憶體的目的。但是系統只會釋放記憶體,並不會釋放物件的所有權,所以通常我們需要在這裡將不需要在記憶體中保留的物件釋放所有權,也就是將其指標置為nil。
這個方法通常並不會在檢視變換的時候被呼叫,而只會在系統退出或者收到記憶體警告的時候才會被呼叫。但是由於我們需要保證在收到記憶體警告的時候能夠對其作出反應,所以這個方法通常我們都需要去實現。
系統在載入所有資料後,將會在螢幕上顯示檢視,這時會先呼叫這個方法。通常我們會利用這個方法,對即將顯示的檢視做進一步的設定。例如,我們可以利用這個方法來設定裝置不同方向時該如何顯示。
在檢視變換時,當前檢視在即將被移除、或者被覆蓋時,會呼叫這個方法進行一些善後的處理和設定。
我們可以重寫這個方法,對已經消失,或者被覆蓋,或者已經隱藏了的檢視做一些其他操作。
IOS viewcontroller的生命週期
單個viewcontroller的生命週期 initwithcoder nscoder adecoder 如果使用storyboard或者xib loadview 載入view viewdidload view載入完畢 viewwilllayoutsubviews 控制器的view將要布局子控制項 ...
uiviewcontroller的生命週期
uiviewcontroller是ios程式中的乙個重要組成部分,扮演者乙個大管家的身份,管理著程式中的眾多檢視 何時載入view,載入的原則是什麼,檢視何時消失等問題,文件中講的都很詳細。controller的view最好在需要顯示時再去載入,並且在系統發出記憶體警告時釋放不必要的view及相關的...
UIViewController的生命週期
uiviewcontroller的生命週期 1.uiviewcontroller uiviewcontroller是ios頂層檢視的載體及控制器,使用者與程式介面的互動都是由uiviewcontroller來控制的 uiviewcontroller管理uiview的生命週期及資源的載入與釋放 uiv...