我想在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