iOS Dev (43) 用loadView必須要注意的幾點

來源:互聯網
上載者:User

 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 時執行的這兩個方法。再進一步的解釋,以後再介紹。

    Reference

    http://my.oschina.net/amoyai/blog/90261

    轉載請註明來自大銳哥的部落格:http://prevention.iteye.com

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.