視圖控制器為Iphone的應(yīng)用程序提供了基礎(chǔ)的視圖管理模型,可以使用視圖控制器管理視圖的繼承樹(shù),如果使用了視圖控制器识藤,你就可以方便的管理視圖中的子視圖,假如沒(méi)有了這個(gè)控制器祷蝌,可想而知每個(gè)視圖豈不是都要用繼承才能管理彼此的關(guān)系茅撞。UIViewController的基礎(chǔ)功能是管理界面中的view,但是一個(gè)復(fù)雜的應(yīng)用程序肯定有好多的視圖控制器巨朦,那么自然如果視圖控制要有管理自己的功能就更加強(qiáng)大米丘。視圖控制器很少單獨(dú)使用。假如你的應(yīng)用程序要使用導(dǎo)航或者轉(zhuǎn)換條控制器糊啡,或許是你的應(yīng)用程序要呈現(xiàn)模態(tài)的視圖拄查,明顯的這里有很多的視圖控制器相互關(guān)聯(lián)來(lái)實(shí)現(xiàn)導(dǎo)航的功能.所以可以看出,UINavigationController和UITabBarController是用來(lái)控制視圖控制器的使用的棚蓄,同樣他們的跟視圖也是UIViewController堕扶,這里就說(shuō)明了UIViewController是自己可以控制自己的。
loadView
如果手動(dòng)創(chuàng)建一個(gè)視圖控制器梭依,必須重載loadView方法稍算,去使用他創(chuàng)建視圖。如果使用Interface?builder創(chuàng)建和初始化的視圖控制器役拴,就不必重載此方法.所以當(dāng)手動(dòng)創(chuàng)建一個(gè)視圖控制器的時(shí)候一定要注意重載loadView邪蛔,否則視圖將不回顯示增加的任何字視圖。
UIViewController的生命周期
ViewController生命周期會(huì)經(jīng)歷初始化扎狱、加載視圖、銷(xiāo)毀視圖勃教、生命結(jié)束等過(guò)程淤击。
1)init方法
初始化ViewController本身。
2)loadView方法
當(dāng)view需要被展示而它卻是nil時(shí)故源,viewController會(huì)調(diào)用該方法污抬,如果代碼構(gòu)建View的話需要重寫(xiě)此方法。
3)viewDidLoad方法
執(zhí)行完loadView后繼續(xù)執(zhí)行viewDidLoad绳军,loadView時(shí)還沒(méi)有view印机,而viewDidLoad時(shí)view已經(jīng)創(chuàng)建好了。
4)viewDidUnload方法
當(dāng)系統(tǒng)內(nèi)存吃緊的時(shí)候會(huì)調(diào)用該方法门驾。
5)dealloc
釋放其他資源或內(nèi)存射赛。