说我有一个类MyClass
,它可以处于有效或无效状态。因此,我使用名为isValid
的 bool 值来跟踪此情况。我希望将此值初始化为false
,直到调用该类的initialize
函数为止。 initialize
(和相应的reset
函数)将能够直接更改isValid
bool的值。到目前为止,这是我设置的:
class MyClass {
private var _isValid: Bool = false
var isValid: Bool {
get { return _isValid }
}
// any required init functions
func initialize() {
// init stuff
_isValid = true
}
func reset() {
// reset stuff
_isValid = false
}
}
那么这是最好的方法吗,还是有什么方法可以删除第二个私有(private)var并以某种方式只允许类函数修改只读的面向公共(public)的变量?
最佳答案
只需将您的二传手设为私有(private)即可。参见Access Control。
class MyClass {
private(set) var isValid = false
func initialize() {
// init stuff
self.isValid = true
}
func reset() {
// reset stuff
self.isValid = false
}
}
关于ios - 在Swift中,是否有更好的方法来初始化 “get” only变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29039041/