iOS开发过程中经常遇到希望仅在使用时才创建变量的情况, 原因是系统计算能力有限,我们只在必要的情况下去做复杂的运算。
Swift语言内置了这种机制,叫做懒加载,只有在首次使用该变量时,才会通过指定方法去初始化变量,如果从始至终都未使用该变量,则指定的函数不会被执行,节省了时间和性能消耗。
懒加载语法如下
lazy var backgroundView:UIView = {
return initBackGroundView()
}()
func initBackGroundView() -> UIView {
let bgView = UIView(frame: UIScreen.main.bounds)
bgView.backgroundColor = UIColor.clear
return bgView
}
- 1、懒加载的永远是变量,不能是常量,所以永远是lazy var 不能是lazy let
- 2、 因为是懒加载,所以需要再变量后面生命变量的类型
- 3、懒加载的实现使用“ { }” 包裹起来
- 4、 结尾位置需要添加“()”表示执行该代码块
- 5、 在代码块中需要使用self,但不必使用 weak self,因为闭包会立即执行,不会持有生命周期