У меня есть класс со свойством перечисления state
. Значение этого свойства (под значением я подразумеваю значение ReactiveSwift.Property
) должно быть доступным и наблюдаемым другими классами, но изменение значения должно быть частным. В настоящее время это реализовано таким образом:
enum State {
case stopped, running, paused
}
var state: Property<State> {
return Property(mutableState)
}
fileprivate let mutableState = MutableProperty<State>(.stopped)
Этот шаблон позволяет мне изменять свойство mutableState
в файле класса. При этом вне класса состояние доступно только для чтения и наблюдения.
Вопрос в том, есть ли способ реализовать подобную вещь, используя одно свойство? Также, возможно, кто-то может предложить лучший шаблон для того же решения?