lazy instantiation

1.Lazy instantiation(懶加載)


? ? ? 先說一下什么是懶加載吧。懶加載—也稱為延遲加載,即在需要的時候才加載(效率低,占用內存小)。說的通俗一點呢,在開發的時候,當程序中啟動的時候不加載資源,只有在運行當需要一些資源時,再去加載這些資源。從代碼的可讀性上考慮,一個臃腫的viewDidLoad方法可以被我們分散開,閱讀的人可以清楚的看到addSubview有哪些;

2. 那這個懶加載怎么寫呢?

? ? ?(1)首先在.h中聲明一個myLabel

? ? ?(2)在.m中,實現myLabel的getter方法

? ? ?({...})寫法是什么鬼,它的學名是小括號內聯復合表達式,來自《gcc官方對此的說明》,源自gcc對c的擴展,如今被clang繼承;

? ? ?(3)加載myLabel

? ? ?在這里一定要用self.myLabel,在這里不用過多解釋,大家應該都知道為什么;

? ? ? 以上就是對于Lazy instantiation(懶加載)的理解,以及簡單的使用,蘋果官方有一篇關于名為LazyTableImages的demo不錯,大家可以借鑒;這是蘋果公司提倡的做法。其實蘋果公司做的IOS系統中很多地方都用到了懶加載的方式,比如控制器的View的創建。

? ? ?

? ? ? 代碼也是一件藝術品,當其他同行閱讀你的代碼感覺又臭又長的時候,要好好反省自己的作品,有時間一定多review,養成一個好習慣,每一個模塊都要雕刻的精細。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 前言 2000年,伊利諾伊大學厄巴納-香檳分校(University of Illinois at Urbana-...
    星光社的戴銘閱讀 15,955評論 8 180
  • TITLE: 編程語言亂燉 碼農最大的煩惱——編程語言太多。不是我不學習,這世界變化快! 有時候還是蠻懷念十幾、二...
    碼園老農閱讀 5,367評論 2 35
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,264評論 25 708
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,229評論 4 61
  • 心情不怎么好,于是就出去逛逛,看見了很多的招聘要求,自己也進店問過,兩家,他都不要兼職,媽呀!自己好像早點畢業啊...
    與習慣為友閱讀 155評論 0 1