??iOS開(kāi)發(fā)過(guò)程中經(jīng)常遇到希望僅在使用時(shí)才創(chuàng)建變量的情況亮垫, 原因是系統(tǒng)計(jì)算能力有限模软,我們只在必要的情況下去做復(fù)雜的運(yùn)算。
??Swift語(yǔ)言內(nèi)置了這種機(jī)制饮潦,叫做懶加載燃异,只有在首次使用該變量時(shí),才會(huì)通過(guò)指定方法去初始化變量继蜡,如果從始至終都未使用該變量回俐,則指定的函數(shù)不會(huì)被執(zhí)行,節(jié)省了時(shí)間和性能消耗稀并。
??懶加載語(yǔ)法如下
lazy var backgroundView:UIView = {
return initBackGroundView()
}()
func initBackGroundView() -> UIView {
let bgView = UIView(frame: UIScreen.main.bounds)
bgView.backgroundColor = UIColor.clear
return bgView
}
- 1仅颇、懶加載的永遠(yuǎn)是變量,不能是常量稻轨,所以永遠(yuǎn)是lazy var 不能是lazy let
- 2灵莲、 因?yàn)槭菓屑虞d,所以需要再變量后面生命變量的類(lèi)型
- 3殴俱、懶加載的實(shí)現(xiàn)使用“ { }” 包裹起來(lái)
- 4政冻、 結(jié)尾位置需要添加“()”表示執(zhí)行該代碼塊
- 5、 在代碼塊中需要使用self线欲,但不必使用 weak self明场,因?yàn)殚]包會(huì)立即執(zhí)行,不會(huì)持有生命周期