我想在Swift中创建一个计算属性,我需要一个实例变量来保存属性的状态。斯威夫特计算的Swift实例变量的属性?
这种情况特别是当我试图重写我的超类的属性:
class Jedi {
var lightSaberColor = "Blue"
}
class Sith: Jedi {
var _color = "Red"
override var lightSaberColor : String{
get{
return _color
}
set{
_color = newValue
}
}
}
我重写存储的属性lightSaberColor在绝地与计算性能,因为这是编译器将让唯一途径我。这也迫使我创造一个getter和setter(这是有道理的)。那时我遇到了麻烦。
到目前为止,我发现的唯一方法是定义这个额外和丑陋的变种_color
。你是一个更优雅的解决方案吗?
我试着在属性块中定义_color
,但它不会编译。
有一个更好的方法!
为什么你需要重写属性?这背后肯定有一个原因,我认为这可以为你提供一个正确的答案 – Antonio 2014-11-01 19:30:50
这只是一个例子。真正的问题是如何处理计算属性中的iVar – cfischer 2014-11-01 21:35:04
为什么你打开2个问题来解决同一个问题?关闭一个。 – Shuo 2014-11-02 03:33:50