這個問題在這里已經有了答案: 只讀屬性 3 個答案 昨天關門。
在這里,我有一個類并將其屬性設為私有,以防止意外修改。
class Article {
private var lineIndex: [Int] = []
private var text: [String] = []
....
}
我知道我可以撰寫一個函式func text(_ index: Int) -> String來獲取它的值index。但是當我呼叫它時,article1.text(2)會很奇怪。因為2與陣列的作用相比,指示索引不是很清楚article1.text[2]。所以我可以使用getter或其他東西,同時保持清晰的語法,如text[2]. 如果你能提供一些例子,那就再好不過了。
uj5u.com熱心網友回復:
您可以使用以下方法之一:
- with
private(set),它允許在類內部進行編輯:
class Article {
private(set) var text: [String] = []
...
}
- 僅獲取計算屬性(這與您的 get 函式相同)
class Article {
var _text: [String] {
return text
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/476595.html
上一篇:為什么這會在實體方法宣告中顯示“預期的'func'關鍵字”
下一篇:如何將可選Json決議為字串變數
