我有一个带有枚举属性的类state
。这个属性的值(我ReactiveSwift.Property
的意思是值)需要被其他类访问和观察,但值的变化应该是私有的。目前它以这样的方式实现:
enum State {
case stopped, running, paused
}
var state: Property<State> {
return Property(mutableState)
}
fileprivate let mutableState = MutableProperty<State>(.stopped)
这种模式允许我修改mutableState
类文件中的属性。同时课外状态只能用于阅读和观察。
问题是是否有办法使用单个属性来实现类似的事情?也可能有人可以为相同的解决方案提出更好的模式?