Здесь у меня есть класс, и я делаю его свойства закрытыми, чтобы предотвратить случайное изменение.
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]
. Было бы лучше, если бы вы могли привести несколько примеров.
Вы можете использовать один из этих способов:
private(set)
, что позволяет редактировать внутри класса:class Article {
private(set) var text: [String] = []
...
}
class Article {
var _text: [String] {
return text
}
}
Вы можете сделать подпись своей функции более «быстрой» и читаемой, например
func text(at index: Int) -> String
, которая затем будет использоваться какarticle1.text(at: 2)