Swift 中的惰性变量是否计算不止一次?我的印象是他们取代了:
if (instanceVariable) {
return instanceVariable;
}
// set up variable that has not been initialized
来自 Objective-C 的范式(惰性实例化)。
他们就是这样做的吗?基本上只在应用程序第一次请求变量时调用一次,然后只返回计算的内容?
还是每次都像普通的计算属性一样调用它?
我问的原因是因为我基本上想要一个可以访问其他实例变量的 Swift 计算属性。假设我有一个名为“fullName”的变量,它只是连接firstName
和lastName
. 我将如何在 Swift 中做到这一点?似乎惰性变量是唯一的方法,因为在普通计算变量(非惰性)中我无法访问其他实例变量。
所以基本上:
Swift 中的惰性变量会被多次调用吗?如果是这样,我如何创建一个可以访问实例变量的计算变量?如果不是,如果出于性能原因我只想计算一次变量,我该怎么做?