美文网首页
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