viewDidLoad等相关函数调用
viewDidLoad 此方法只有當(dāng)view從nib文件初始化的時(shí)候才被調(diào)用。viewDidLoad用于初始化,加載時(shí)用到的。?
loadView 此方法在控制器的view為nil的時(shí)候被調(diào)用。雖然經(jīng)常說loadView是使用代碼生成視圖的時(shí)候,當(dāng)視圖第一次載入的時(shí)候調(diào)用的方法。用于使用(寫)代碼來實(shí)現(xiàn)控件。用于使用代碼生成控件的函數(shù)。但是經(jīng)過自己實(shí)際斷點(diǎn)單步操作發(fā)現(xiàn),不管用不用nib,都最先調(diào)用loadView,所以說loadView 此方法在控制器的view為nil的時(shí)候就會(huì)被調(diào)用。一般在使用nib后就會(huì)把loadView注釋掉。Xcode4.2創(chuàng)建的時(shí)候就給注釋好了。
當(dāng)手寫代碼時(shí)一定注意分配UIView.自己經(jīng)常用的有兩種方法,如下:
- ( void ) loadView {UIView *view = [ [ UIView alloc] initWithFrame:[ UIScreen
mainScreen] .applicationFrame] ;
self.view = view;
[ view release] ;
}
- ( void ) loadView {
[super loadView];
}
但是第二種方法[super loadView]方法不被提倡,也不是蘋果所希望的,就自己的幾個(gè)小項(xiàng)目來看,就有一次使用第二種方法崩了,第一種就可以,所以還是方法一比較保險(xiǎn)。就是你的loadView中應(yīng)該有self.view = …這樣的行為。
viewDidUnload方法?
當(dāng)系統(tǒng)內(nèi)存吃緊的時(shí)候會(huì)調(diào)用該方法,一般在這個(gè)類中添加的代碼是賦空代碼,網(wǎng)上的解釋是這樣的:
| 在該方法中釋放其他與view有關(guān)的對(duì)象、其他在運(yùn)行時(shí)創(chuàng)建(但非系統(tǒng)必須)的對(duì)象、在viewDidLoad中被創(chuàng)建的對(duì)象、緩存數(shù)據(jù)等 release對(duì)象后,將對(duì)象置為nil(IBOutlet只需要將其置為nil,系統(tǒng)release view時(shí)已經(jīng)將其release掉了) 一般認(rèn)為viewDidUnload是viewDidLoad的鏡像,因?yàn)楫?dāng)view被重新請(qǐng)求時(shí),viewDidLoad還會(huì)重新被執(zhí)行 viewDidUnload中被release的對(duì)象必須是很容易被重新創(chuàng)建的對(duì)象(比如在viewDidLoad或其他方法中創(chuàng)建的對(duì)象),不要release用戶數(shù)據(jù)或其他很難被重新創(chuàng)建的對(duì)象 |
?
viewWillAppear:方法更新準(zhǔn)備顯示的視圖的信息。調(diào)用時(shí),視圖可能還沒有被加載。
使用viewDidAppear:來觸發(fā)視圖完全顯示在屏幕上之后的行為,例如任何動(dòng)畫。
這兩個(gè)方法是每當(dāng)切換到view時(shí)就調(diào)用。
轉(zhuǎn)載于:https://www.cnblogs.com/yulang314/p/3583290.html
總結(jié)
以上是生活随笔為你收集整理的viewDidLoad等相关函数调用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Webservices
- 下一篇: 关于linux下制作静态库