mainviewcontroller 是乙個檢視控制器,他的父類是uiviewcontroller ;
1. [[mainviewcontroller
alloc
] init
]; 建立一塊記憶體,然後init初始化。
init就是呼叫mainviewcontroller類裡面的
- (id)init
return self;
}
執行到self
= [super
init
]; 進入方法,將執行這個函式
- (id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil
return self;
}
這個方法執行完畢,後回到- (id)init這個方法繼續執行if(self)語句,然後初始化完畢。
2.self.window.rootviewcontroller = viewcontroller;將檢視控制器賦值給window的rootviewcontroller;
=右邊,將呼叫
- (void)loadview
因為viewcontroller的view為nil,所以呼叫這個方法,裡面的內容是自己新增的,如果自己不新增,應當寫
[super
loadview
],或者乾脆就不重寫這個方法;
然後就呼叫 編譯器自動生成的
- (void)viewdidload
然後就是
和3.[viewcontroller release]; 引用計數-1;
檢視控制器裝載完畢。
簡單點就是
1、 alloc 建立物件,分配空間
2、init (initwithnibname) 初始化物件,初始化資料
3、loadview 從nib載入檢視 ,通常這一步不需要去干涉。除非你沒有使用xib檔案建立檢視
4、viewdidload 載入完成,可以進行自定義資料以及動態建立其他控制項
當引用計數為0的時候,**順序就是
3、dealloc 檢視被銷毀,此處需要對你在init和viewdidload中建立的物件進行釋放
uiviewcontroller的生命週期
uiviewcontroller是ios程式中的乙個重要組成部分,扮演者乙個大管家的身份,管理著程式中的眾多檢視 何時載入view,載入的原則是什麼,檢視何時消失等問題,文件中講的都很詳細。controller的view最好在需要顯示時再去載入,並且在系統發出記憶體警告時釋放不必要的view及相關的...
UIViewController的生命週期
uiviewcontroller的生命週期 1.uiviewcontroller uiviewcontroller是ios頂層檢視的載體及控制器,使用者與程式介面的互動都是由uiviewcontroller來控制的 uiviewcontroller管理uiview的生命週期及資源的載入與釋放 uiv...
UIViewController的生命週期
關於viewdidunload 在發生記憶體警告的時候如果本檢視不是當前螢幕上正在顯示的檢視的話,viewdidunload將會被執行,本檢視的所有子檢視將被銷毀,以釋放記憶體,此時開發者需要手動對viewload viewdidload中建立的物件釋放記憶體。因為當這個檢視再次顯示在螢幕上的時候,...