【发布时间】:2018-06-11 12:21:44
【问题描述】:
以下有区别吗:
惰性变量:
lazy var profileImageIsLoaded : Bool = {
return (profileImageView.image != nil) && (profileImageProgressView.alpha == 0.0)
}()
功能:
func profileImageIsLoaded() -> Bool {
return (profileImageView.image != nil) && (profileImageProgressView.alpha == 0.0)
}
计算属性:
var profileImageIsLoaded : Bool {
return (profileImageView.image != nil) && (profileImageProgressView.alpha == 0.0)
}
什么方法最好用?
我会多次调用函数/变量,所以我的问题也是惰性变量是否被“更新”或者它们是否只获得一次值。
【问题讨论】:
-
惰性变量只分配一次,当第一次访问该值时。每次访问它们时都会计算计算变量。函数是计算变量的更复杂版本,可以传递参数、赋值给局部属性等。
标签: swift