在Swift中对控件进行懒加载比oc中方便很多,只要lazy前缀,oc中懒加载方法,重写getter方法.Swift有两种方法:
一.先懒加载,然后在做属性设置
lazy var button=UIButton()
override func viewDidLoad(){
super.viewDidLoad()
setUI()
}
private func setUI()->(){
// 属性设置
label.text="label"
label.sizeToFit()
label.center=view.center
view.addSubview(label)
}
二:使用闭包,可以在闭包中直接做一些属性设置
lazy var button1={()->UIButtonin
var b=UIButton()
// 属性设置
b.sizeToFit()
b.setImage("bnt_001",for:.normal)
// 返回b给button赋值
returnb
}()
这里建议初学者使用方法一,因为下面闭包中可能会出现循环引用等问题
网友评论