iOS之懶載入技術

2021-08-03 04:57:23 字數 1036 閱讀 9072

在ios開發過程中,經常會用到懶載入技術,比如我們存放網路資料的陣列,自定義的控制項,複雜的運算邏輯等等情況下都會用到懶載入技術。下面介紹一下什麼是懶載入

懶載入:

1、也被成為延遲載入,主要的特點是:用到時再載入,不用不載入,可以提高效能節約支出;

2、載入過之後就不會再次載入,節約了系統資源;

3、對於實際開發中可能會遇到的一些順序問題,懶載入可以作為乙個很好的解決方案。

懶載入的實現思路:

1、在類擴充套件(category)中建立乙個屬性;

2、重寫這個屬性對應的getter,將要實現的邏輯放到這個getter中;

3、考慮到懶載入只載入一次,那麼在實現邏輯之前應該判斷一下這個屬性是否為空,為空才執行邏輯,否則直接返回這個屬性。

示例**:

/**

*  基類表單

tableview */

@property

(nonatomic

, strong

) xxtableview

*basetableview;

- (xxtableview

*)basetableview

return

_basetableview;

} 這是我寫在基類中的表單,在子類中,需要用到的時候,直接self.basetableview就好了,無需建立,在沒呼叫該方法之前,basetableview並沒有建立,在呼叫該方法是,才進行建立,並且只建立一次。

注:有很多人在編碼過程中,習慣使用oc的點語法,點語法可以很方便的幫助開發人員通過屬性的getter和setter去操作成員變數,但在懶載入的編寫過程中,盡量不要是用點語法,因為這個時候使用點語法一不小心很可能會導致程式進入死迴圈。舉例:在書寫懶載入的時候,if

(!_basetableview

) 這裡一定不能使用點語法,不然就會導致死迴圈;_basetableview

= basetableview這裡可以使用self.basetableview

= basetableview,因為這裡是呼叫的setter方法

iOS 開發之懶載入

懶載入,其實就是延時載入。它將物件的建立延遲到了需要物件的時候,這樣就減少了記憶體開銷,但是會降低效率。其實,對於 oc 來說。懶載入就是利用 property 的特性,為屬性生成 get 和 set 方法,懶載入就是呼叫它的 get 方法。如果不重寫它的 get 方法的話,它會報錯,原因是呼叫如下...

IOS懶載入介紹

懶載入,又稱為延遲載入,本質寫的是其get方法。換句話說,就是在開發中,對於程式中的資源 在程式啟動的時候不載入資源,只有在執行中需要資源時,再去載入這些資源。我們知道ios裝置的記憶體有限,如果在程式在啟動後就一次性載入將來會用到的所有資源,那麼就有可能會耗盡ios裝置的記憶體。這些資源例如大量資...

iOS懶載入模式

懶載入 概念 所謂懶載入是乙個物件徐濤建立時才會被建立,不需要建立時不被建立 使用場景 ios中的uitableview就用到了懶載入,tableviewcell原生元件在宣告getting方法時,ps imageview屬性,textlable屬性,detailtextlabel屬性 readon...