私は列挙型プロパティstate
を持つクラスを持っています。このプロパティの値(値は平均でReactiveSwift.Property
の値)は、他のクラスからアクセスして監視する必要がありますが、値の変更はプライベートである必要があります。現在は、このような方法で実装されていますReactiveSwift読み取り専用publicアクセス可能な可変プロパティ
enum State {
case stopped, running, paused
}
var state: Property<State> {
return Property(mutableState)
}
fileprivate let mutableState = MutableProperty<State>(.stopped)
このパターンは、私はクラスファイル内mutableState
プロパティを変更することができます。同時に、クラス状態の外には、読書と観察のためだけに利用可能です。
質問は、単一のプロパティを使用して同様のものを実装する方法があるかどうかです。おそらく誰かが同じソリューションに対してより良いパターンを提案できるでしょうか? 「
fileprivate(set) var state: Property<State>
ええ、しかし、おそらくそれを怠惰にすることさえ良い解決策になるでしょう。しかし、あなたも間違いなく理にかなっています。 – iyuna