懶加載定義方式:
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)建。