前端之家收集整理的这篇文章主要介绍了
swift – Lazy可选属性始终为零?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有以下
代码总是打印出零的原因?
class Foo
{
@lazy var bar: Int? = 5
}
println(Foo().bar)
我会认为,当bar属性被访问时,它将被初始化为5.
扫描一下为什么你会想要这样做,这里的问题是,您需要提供一个惰性
属性一个初始化程序,它可以在首次
调用时使用.以上
代码的正确
方法是:
class Foo {
lazy var bar = Int(5)
}
print(Foo().bar)