美文网首页
Swift 懒加载

Swift 懒加载

作者: __Simon__ | 来源:发表于2018-12-05 23:49 被阅读7次

什么是懒加载

懒加载是在程序中使用到变量的时候才开始加载或者计算变量的值。

懒加载的好处

由于懒加载是在变量被用到的时候才开始计算加载对应的值,在页面刚刚初始化的时候比较节省时间。提高页面的流畅程度。也是性能优化的一种方式。

Swift中怎么使用懒加载

Swift中在定义变量的前面加上lazy关键字就可以使用懒加载技术,如下定义的变量就是使用了懒加载的技术

    lazy var lazyUsername:String? = {
        print("lazyUsername:我被加载了。")
        return "lazyUsername"
    }()

Swift中使用懒加载的注意项

懒加载只能使用在计算可变属性上面

懒加载的特点

  • 使用时加载
  • 只加载一次

示例代码

    lazy var lazyUsername:String? = {
        print("lazyUsername:我被加载了。")
        return "lazyUsername"
    }()
    
    var username:String? = {
        print("username:我被加载了。")
        return "username"
    }()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        print("View did load")
        print(lazyUsername)
        lazyUsername = nil
        print(lazyUsername)
        
        print(username)
        username = nil
        print(username)
    }

执行结果

username:我被加载了。
View did load
lazyUsername:我被加载了。
Optional("lazyUsername")
nil
Optional("username")
nil

从执行结果可以看出来,使用了懒加载的lazyUsername是在使用的时候才开始初始化执行闭包代码,而没有使用懒加载的username是在类初始化的时候就开始初始化执行闭包里面的代码。

相关文章

网友评论

      本文标题:Swift 懒加载

      本文链接:https://www.haomeiwen.com/subject/euggcqtx.html