工作記錄一 IOS中的懶載入lazyLoad

2021-06-27 06:25:01 字數 1368 閱讀 1211

鑌哥哥,初步寫一些自己對於lazyload的看法。這篇文章主要針對普通view,的的懶載入,以及一些相關介紹。

懶載入,又稱為延遲載入。通常用法,你有乙個uitextfield型別的property,簡單定義為myusernametextfield,但是你不在初始化方法裡為其alloc/init,它就只是乙個指標,不會占用記憶體。

只是載入到你預想載入到的view上。如:[self addsubview:self.myusernametextfield];//其中self為view,.usernametextfield為你宣告的屬性名字。

顯而易見的是,以上的指定是在view初始化的時候完成的。

另外最重要的一點是,

上面在空載入的時候,一定要使用點語法

,也就是咱們所說的

getter

方法

然後呢?

1:就需要我們重寫usernametextfield的getter方法了。重寫方法:

- (uitextfield *)myusernametextfield//這就是懶載入(用到的時候才去呼叫,在本地儲存,資料請求的時候經常用到)

return _usernametextfield;

}

2

:最後建議大家將frame的設定寫到layoutsubviews之中,**如下

- (void)layoutsubviews

鑌哥哥為了大家更容易理解為什麼要呼叫layoutsubview,專門寫了相關的介紹,方便大家理解:

layoutsubviews在以下情況下會被呼叫:

1、init初始化不會觸發layoutsubviews 

2、addsubview會觸發layoutsubviews 

3、設定view的frame會觸發layoutsubviews,當然前提是frame的值設定前後發生了變化 

4、滾動乙個uiscrollview會觸發layoutsubviews 

5、旋轉screen會觸發父uiview上的layoutsubviews事件 

6、改變乙個uiview大小的時候也會觸發父uiview上的layoutsubviews事件 

最終達到的效果就是,除非這個物件被使用,否則它永遠不會真正生成,也就不會占用記憶體。

記住:其他lazyload的思想都是這樣:拖到最後一刻,萬不得已了,才開始占用資源,這在iphone這種記憶體較少的裝置上是很有必要的。

iOS中的懶載入

通俗一點就是用到時再載入,而且只載入一次,其實就是所謂的重寫物件的get方法,當系統或者開發者呼叫物件的get方法時,再去載入物件。實現 重寫get方法時,先判斷物件當前是否為空,為空的話再去例項化物件 使用懶載入的好處 inte ce viewcontroller property nonatom...

IOS中的懶載入lazyLoad

初步寫一些自己對於lazyload的看法吧。這篇文章主要針對普通view,對於image相關的的懶載入,準備過幾天研究一下在寫。懶載入,又稱為延遲載入。通常用法,你有乙個uitextfield型別的property,簡單定義為usernametextfield,但是你不在初始化方法裡為其alloc ...

工作中遇到的懶載入問題

1 懶載入 懶載入 lazyload 一直是前端的優化方案之一。它的核心思想是 當使用者想看頁面某個區域時,再載入該區域的資料。這在一定程度上減輕了伺服器端的壓力,也加快了頁面的呈現速度。2 遇到的問題 專案中乙個事務之間才可以完美的實現懶載入,而我操作的是兩個事務,所以出現了空指標異常的問題。解決...