RxSwift を使用してイベント エミッターを実装するにはどうすればよいですか? (サブスクライブしている他のオブジェクトによって消費されるデータを発行できるオブジェクト。)
Rx のドキュメントと例を読んだ後、私は完全な馬鹿のように感じ、Observer から Observable に手動でイベントを発行する方法についてまだ非常に混乱しています。そのObservableにサブスクライブしているすべてのObserverにデータを含むイベントを発行できるObservableがあることを理解しています。ただし、これが実際に Swift でどのように実装されているかについてはまったくわかりません。
私が実装しようとしているものの例を次に示します。
class VendingMachine {
let dispenser = Observable<Drink>
// Notify all subscribed Observers that this machine dispensed a drink.
func dispenseDrink(item: Drink) {
dispenser.onNext(item)
}
}
そして2番目のファイル:
class MachineReporter: Observer {
let dispenser = VendingMachine().dispenser
init() {
dispenser.subscribe(self)
}
onNext { drink in
print("Vending machine dispensed a drink: \(drink)"
}
}
私の脳は揚げられています。これがどのように機能するかを明らかに誤解しているため、今のところ EmitterKit のような特殊なライブラリに切り替えるだけです。
しかし、Rx がどのように機能するかを理解する必要があります。ヘルプ!