懶載入,又稱為延遲載入。說的通俗一點,就是在開發中,當程式中需要利用的資源時。在程式啟動的時候不載入資源,只有在執行當需要一些資源時,再去載入這些資源。
我們知道ios裝置的記憶體有限,如果在程式在啟動後就一次性載入將來會用到的所有資源,那麼就有可能會耗盡ios裝置的記憶體。這些資源例如大量資料,,音訊等等
下面舉個例子:
1> 定義控制項屬性,注意:屬性必須是strong的,示例**如下:
@property (nonatomic, strong) nsarray *imagelist;2> 在屬性的getter方法中實現懶載入,示例**如下:
// 懶載入-在需要的時候,在例項化載入到記憶體中如上面的**,有乙個_imagelist屬性,如果在程式的**中,有多次訪問_imagelist屬性,例如下面- (nsarray *)imagelist
return _imagelist;
}
self.imagelist ;雖然訪問了3次_imagelist 屬性,但是當第一次訪問了imagelist屬相,imagelist陣列就不為空,self.imagelist ;
self.imagelist ;
當第二次訪問imagelist 時 imagelist != nil;程式就不會執行下面的**
nsstring *path = [[nsbundle mainbundle] pathforresource:@"imagedata" oftype:@"plist"];就不會再次在plist檔案中載入資料了。nslog(@"%@", path);
_imagelist = [nsarray arraywithcontentsoffile:path];
懶載入的好處:
1> 不必將建立物件的**全部寫在viewdidload方法中,**的可讀性更強
2> 每個屬性的getter方法中分別負責各自的例項化處理,**彼此之間的獨立性強,松耦合
3>只有當真正需要資源時,再去載入,節省了記憶體資源。
IOS懶載入介紹
懶載入,又稱為延遲載入,本質寫的是其get方法。換句話說,就是在開發中,對於程式中的資源 在程式啟動的時候不載入資源,只有在執行中需要資源時,再去載入這些資源。我們知道ios裝置的記憶體有限,如果在程式在啟動後就一次性載入將來會用到的所有資源,那麼就有可能會耗盡ios裝置的記憶體。這些資源例如大量資...
iOS懶載入模式
懶載入 概念 所謂懶載入是乙個物件徐濤建立時才會被建立,不需要建立時不被建立 使用場景 ios中的uitableview就用到了懶載入,tableviewcell原生元件在宣告getting方法時,ps imageview屬性,textlable屬性,detailtextlabel屬性 readon...
iOS 懶載入模式
感謝 chengfang ios開發 懶載入 1.懶載入 也稱為延遲載入,即在需要的時候才載入 效率低,占用記憶體小 所謂懶載入,寫的是其get方法.注意 如果是懶載入的話則一定要注意先判斷是否已經有了,如果沒有那麼再去進行alloc init 2.我們知道ios裝置的記憶體有限,如果在程式在啟動後...