一:loadView
????????用于加載VC上的主View,可以將主View做成一個單View,在loadView中初始化,布局
二:viewDidLoad
????????于界面上的初始化操作
三:viewDidUnload
? ??????View的父視圖消失就一起消失
????????iOS設備的內存是極其有限的,如果應用程序占用的內存過多的話,系統(tǒng)就會對應用程序發(fā)出內存警告。UIViewController就會收到didReceiveMemoryWarning消息。????????????????????????????????????????????didReceiveMemoryWarning方法的默認實現(xiàn)是:如果當前UIViewController的view不在應用程序的視圖層次結構(View Hierarchy)中,即view的superview為nil的時候,就會將view釋放,并且調用viewDidUnload方法
四:dealloc
????????也是用來釋放資源的,但是只有在VC被釋放的時候才會調用
技術總結點:
1.第一次訪問UIViewController的view時,view為nil,然后就會調用loadView方法創(chuàng)建view
2.view創(chuàng)建完畢后會調用viewDidLoad方法進行界面元素的初始化
3.當內存警告時,系統(tǒng)可能會釋放UIViewController的view,將view賦值為nil,并且調用viewDidUnload方法
4.當再次訪問UIViewController的view時,view已經在3中被賦值為nil,所以又會調用loadView方法重新創(chuàng)建view
5.view被重新創(chuàng)建完畢后,還是會調用viewDidLoad方法進行界面元素的初始化,就是這么一個循環(huán)關系
6.dealloc只有在VC被釋放的時候調用,如果VC中存在對象未被釋放,將不走這個方法。