在Swift中,我们可以设置一个存储属性来使用闭包:
class Test {
var prop: String = {
return "test"
}()
}
Run Code Online (Sandbox Code Playgroud)
VS
或者使懒惰的存储属性使用闭包:
class Test {
lazy var prop: String = {
return "test"
}()
}
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,用于获取属性值的代码仅运行一次.看起来它们是等价的.
在使用闭包时,我应该何时使用延迟存储属性与计算属性?