ViewController 會在 view 的屬性被請求且當前 view 為 nil 時調用 loadView。
如果你是用 xib 創建 view 並初始化 ViewController,意味著你要使用 initWithNibName:bundle: 方法,則不要覆蓋 loadView 方法。
如果你是手動創建 view,就要覆蓋該方法。
loadView 方法是查看你有木有 xib,有的話就用 xib 加載基本信息,木有的話就會創建一個空白的 UIView,然後把它作為這個 ViewController 的 view。
所以你覆蓋這個函數的時候,也按照這個方式是實現就好了。只不過你不是創建一個空白的 UIView,那也沒有意義。你創建一個你想要的 UIView,一定要注意這個 UIView 實例必須是給這個 ViewController 獨享的(不能被其他實例共享),否則會出問題的。
你只需要在 loadView 時創建 view,不要對它做什麼自定義的。
在內存緊張時,程序會調用 viewDidUnload 來釋放內存,這個方法是與 viewDidLoad 相對的。當程序內存不那麼緊張,且需要用到這個 ViewController 時,則會再次調用 viewDidLoad。
viewDidLoad 和 viewDidUnload 中的操作是相對的。
一般在初學時,不會用到太復雜的,會發現是在這個 ViewController 被設置為 visible 時執行的這兩個方法。再進一步的解釋,以後再介紹。
http://my.oschina.net/amoyai/blog/90261
轉載請注明來自大銳哥的博客:http://prevention.iteye.com