swift – Lazy可选属性始终为零?

前端之家收集整理的这篇文章主要介绍了swift – Lazy可选属性始终为零?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有以下代码总是打印出零的原因?
class Foo
{
    @lazy var bar: Int? = 5
}

println(Foo().bar)

我会认为,当bar属性被访问时,它将被初始化为5.

扫描一下为什么你会想要这样做,这里的问题是,您需要提供一个惰性属性一个初始化程序,它可以在首次调用时使用.以上代码的正确方法是:
class Foo {
    lazy var bar = Int(5)
}

print(Foo().bar)

猜你在找的Swift相关文章