swift中懒加载必须使用var关键字来定义延迟加载的属性,不能使用let关键字,因为常量必须在实例构建时赋值。
懒加载常见格式: 后面通过等号赋值一个闭包,闭包后面必须跟上(),
如果闭包是用于懒加载,那么in 之前的代码都可以省略,包括 in 在内
比如
lazy var array:[String] = {
// () -> [String] in
return ["a","b"]
}()
也可以通过函数形式进行懒加载,比如
let lazyFunc = {
() -> [String] in
return ["123","456"]
}
lazy var array2:[String] = self.lazyFunc()