如何在 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
}
}
这里我有一个 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
}
}