Wie implementiere ich einen Event Emitter mit RxSwift? (Ein Objekt, das Daten ausgeben kann, die von anderen Objekten konsumiert werden, die es abonniert haben.)Wie gebe ich Ereignisse manuell aus (d. H. Einen EventEmitter) mit RxSwift?
Nachdem ich die Rx-Dokumente und Beispiele durchgegangen bin, fühle ich mich wie ein kompletter Idiot und bin immer noch sehr verwirrt darüber, wie man Ereignisse manuell ausgibt von Beobachtern zu Observablen. Mein Verständnis, dass wir einige Observable haben, die Ereignisse mit Daten an alle Beobachter senden können, die diese Observable abonniert haben. Ich habe jedoch keine Idee, wie dies in Swift umgesetzt wird.
Hier ist ein Beispiel für etwas, ich versuche zu implementieren:
class VendingMachine {
let dispenser = Observable<Drink>
// Notify all subscribed Observers that this machine dispensed a drink.
func dispenseDrink(item: Drink) {
dispenser.onNext(item)
}
}
und eine zweite Datei:
class MachineReporter: Observer {
let dispenser = VendingMachine().dispenser
init() {
dispenser.subscribe(self)
}
onNext { drink in
print("Vending machine dispensed a drink: \(drink)"
}
}
ist mein Gehirn gebraten. Ich werde jetzt einfach in eine spezialisierte Bibliothek wie EmitterKit wechseln, weil ich eindeutig falsch verstehe, wie das funktioniert.
Aber ich muss herausfinden, wie Rx funktioniert oder ich werde verrückt werden. Hilfe!