UIViewController的生命週期

2021-06-29 12:06:54 字數 1456 閱讀 4469

-------uiviewcontroller的生命週期

1.uiviewcontroller

uiviewcontroller是ios頂層檢視的載體及控制器,使用者與程式介面的互動都是由uiviewcontroller來控制的

uiviewcontroller管理uiview的生命週期及資源的載入與釋放

uiview與uiviewcontroller共同展示了使用者介面(檢視控制器不是uiview,每乙個檢視控制器都有乙個view,檢視控制器是個大管家,管理這個檢視的載入、解除安裝、橫屏顯示)

當乙個檢視控制器被建立,並在螢幕上顯示的時候。 **的執行順序

(1) alloc                               建立物件,分配空間

(2) init (initwithnibname)    初始化物件,初始化資料

(3) loadview                        從nib載入檢視 ,通常這一步不需要去干涉。除非你沒有使用xib檔案建立檢視

(4) viewdidload                  載入完成,可以進行自定義資料以及動態建立其他控制項

當乙個檢視被移除螢幕並且銷毀的時候的執行順序,這個順序差不多和上面的相反

(3) dealloc                             檢視被銷毀,此處需要對你在init和viewdidload中建立的物件進行釋放

2.uiviewcontroller生命週期

(1)- (void)loadview    建立載入根檢視

loadview被呼叫需要滿足兩個條件:(1)此控制器的view訪問器方法被呼叫;(2)view為nil。正常情況下loadview只會                               被呼叫一次,因為 loadview第一次呼叫之後,view就不再為空

uiviewcontroller的loadview載入檢視:loadview首先判斷是否有可用的xib檔案可以載入,如果有則載入xib檔案來建立                                    此控制器的view,如果沒有,則使用**建立此控制器的view

(2)- (void)viewdidload 檢視載入完成

這個方法呼叫的時機:在外部訪問根檢視的時候,並且當前的根檢視是nil的時候

系統在載入所有資料後,將會在螢幕上顯示檢視,這時會先呼叫這個方法。通常我們會利用這個方法,對即將顯示的檢視做進一步 的設定

(7)- (void)didreceivememorywarning 

3.

loadview與viewdidload的關係

uiviewcontroller的生命週期

uiviewcontroller是ios程式中的乙個重要組成部分,扮演者乙個大管家的身份,管理著程式中的眾多檢視 何時載入view,載入的原則是什麼,檢視何時消失等問題,文件中講的都很詳細。controller的view最好在需要顯示時再去載入,並且在系統發出記憶體警告時釋放不必要的view及相關的...

UIViewController的生命週期

關於viewdidunload 在發生記憶體警告的時候如果本檢視不是當前螢幕上正在顯示的檢視的話,viewdidunload將會被執行,本檢視的所有子檢視將被銷毀,以釋放記憶體,此時開發者需要手動對viewload viewdidload中建立的物件釋放記憶體。因為當這個檢視再次顯示在螢幕上的時候,...

UIViewController的生命週期

建構函式 初始化物件和資料 id initwithnibname nsstring nibnameornil bundle nsbundle nibbundleornil 載入檢視 從nib載入檢視 通常這一步不需要去干涉。除非你沒有使用xib檔案建立檢視 void loadview 檢視載入完畢 ...