懶載入,ios懶載入

來源:互聯網
上載者:User

懶載入,ios懶載入

懶載入的定義:
 
      所謂的懶載入可以定義為:
         延時載入,即當對象需要用到的時候再去載入。其實就是所謂的重寫對象的get方法,
         當系統或者開發人員調用對象的get方法時,再去載入對象。
 
   懶載入的優點:
 
      1.不需將對象的執行個體化寫到viewDidLoad,可以簡化代碼,增強代碼的可讀性
 
      2.對象的執行個體化在getter方法中,各司其職,降低耦合性
 
      3.對系統的記憶體佔用率會減小,只有當真正需要資源時,再去載入,節省了記憶體資源

   使用懶載入注意事項:
 
      1.重寫get方法時,先判斷對象當前是否為空白,為空白的話再去執行個體化對象
 
      2.需要注意在getter方法裡切勿使用self.shopData,因為self.shopData會調用getter方法,造成死迴圈
 
   什麼時候使用懶載入:
 
     1.為什麼要使用懶載入:
      
          (1)這是蘋果公司提倡的做法,其實蘋果公司做的IOS系統中很多地方都用到了懶載入的方式,比如控制器的View的建立。
 
          (2)我們知道iOS裝置的記憶體有限,如果在程式在啟動後就一次性載入將來會用到的所有資源,那麼就有可能會耗盡iOS裝置的記憶體。這些資源例如大量資料,圖片,音頻等等,所以我們在使用懶載入的時候一定要注意先判斷是否已經有了,如果沒有那麼再去進行執行個體化
 
     2.什麼時候使用:
         不是所有getter都需要寫成懶載入的。有些時候很確定那些執行個體變數需要在某個地方初始化,那就不需要重寫getter
        了。大量的重寫getter會造成大量的版面浪費,而且增加很多輸入量。舉個例子,控制器的viewDidLoad後所有布局和
        視圖都需要初始化好,那麼可以將這些控制項都放到一個獨立的方法裡初始化和布局,並不需要單獨寫getter。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.