Ich habe eine Klasse mit Enum-Eigenschaft state
. Der Wert dieser Eigenschaft (nach Wert I bedeutet ReactiveSwift.Property
) muss von anderen Klassen aufgerufen und beobachtet werden, aber die Wertänderung sollte privat sein. Derzeit ist es in einer solchen Art und Weise umgesetzt:ReactiveSwift veränderbare Eigenschaft mit nur lesen öffentlichen Zugang
enum State {
case stopped, running, paused
}
var state: Property<State> {
return Property(mutableState)
}
fileprivate let mutableState = MutableProperty<State>(.stopped)
Dieses Muster mich mutableState
Eigenschaft innerhalb Klassendatei ändern können. Gleichzeitig ist der Klassenzustand außerhalb des Klassenzustandes nur zum Lesen und Beobachten verfügbar.
Die Frage ist, ob es eine Möglichkeit gibt, eine ähnliche Sache mit einer einzigen Eigenschaft zu implementieren? Kann jemand wahrscheinlich auch ein besseres Muster für die gleiche Lösung vorschlagen?
Ja, aber wahrscheinlich ist es sogar eine bessere Lösung, es faul zu machen. Aber das macht auch Sinn. – iyuna