Swift中懒加载

来源:互联网 发布:软件平台架构 编辑:程序博客网 时间:2024/05/18 01:12

关键字是lazy, 只能是var的变量才能懒加载

lazy var count = 100lazy var count = {    return 100}()

//闭包中如果是多行代码就要报错:unable to infer complex closure return type

lazy var count = {    var a = 100    var b = 100    return a+b}()

解决闭包不能推断返回类型即可,下面三种方法

lazy var count: Int = {    var a = 100    var b = 100    return a+b}()lazy var count = {    var a = 100    var b = 100    return a+b}() as Intlazy var count =  {    () -> Int in    var a = 100    var b = 100    return a+b}()