Swift - 懶加載

懶加載定義方式:

1,懶加載的基本寫法

lazy var label: UILabel = UILabel()

2,懶加載的完整寫法(一般不使用)

/**

? ? ? ? {} 包裝代碼

? ? ? ? () 執(zhí)行代碼

*/

lazy var label: UILabel = {

? ? ? ? let label = UILabel()

? ? ? ? return label

}()

懶加載的意義:

1,延遲創(chuàng)建

2,最大的好處 -> 解除解包的煩惱!

和OC相比的差異

OC
Swift

Swift 中 label 一旦被設(shè)置為 nil ,懶加載也不會(huì)再執(zhí)行;

懶加載的代碼只會(huì)在第一次調(diào)用時(shí)侯,執(zhí)行閉包,然后將執(zhí)行的結(jié)果保存在 label 屬性中

注意:Swift 中一定注意不要主動(dòng)清理視圖或者控件,因?yàn)閼屑虞d不會(huì)再次創(chuàng)建。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • init和initWithCoder 在UIView及其子類,重寫了構(gòu)造函數(shù)init 也必須實(shí)現(xiàn)initWithC...
    呦釋原點(diǎn)閱讀 6,361評論 0 3
  • 懶加載就是延時(shí)加載的意思,比方說給某個(gè)類定義個(gè)對象屬性,在用到這個(gè)屬性的時(shí)候才初始化,而且重復(fù)使用只會(huì)初始化一次,...
    Super超人閱讀 1,937評論 0 3
  • 懶加載的2個(gè)好處:延遲加載屬性(UI類型控件一般都會(huì)延遲加載)在后邊的代碼中,延遲加載的屬性,不用再強(qiáng)制解包 懶加...
    Homer1ynn閱讀 1,458評論 5 3
  • 在 使用Swift開發(fā)時(shí),懶加載非常非常方便 1. 懶加載的格式如下: 2. 懶加載的簡單寫法 3. 懶加載本質(zhì)上...
    Abler閱讀 346評論 1 4
  • Ghost博客系統(tǒng)默認(rèn)提供的博文列表為傳統(tǒng)的翻頁方式(通過點(diǎn)擊上一頁、下一頁等按鈕來切換),隨著移動(dòng)客戶端的發(fā)展,...
    程序猿DD閱讀 1,332評論 1 3

友情鏈接更多精彩內(nèi)容