如何在 Swift 中的 class 之外访问私有 属性?

How can I access private property outside that class in Swift?

这里我有一个 class 并将其属性设为私有以防止意外修改。

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] 这样清晰的语法。如果您能提供一些示例,那就再好不过了。

您可以使用以下方式之一:

  • with private(set),允许在class:
  • 里面编辑
class Article {
    private(set) var text: [String] = []
    ...
}
  • with get only computed 属性(这与您的 get 函数相同)
class Article {
    var _text: [String] {
        return text
    }
}