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