Ich bin irgendwie neu im reaktiven Muster und jetzt habe ich meine erste größere Frage.RXSwift eventlistener
Ich habe ein paar asynchrone Anfragen auf die reaktive Weise getan. Aber was ich jetzt tun möchte, ist ein "Eventlistener".
Ich habe ein Session
Objekt, im Moment habe ich ein SessionEventListener
Protokoll. Die Sitzung hat eine Liste von Listenern und informiert sie alle über eine erfolgreiche Anmeldung und eine Abmeldung. Diese Listener können sich anmelden und abmelden. Diese Sache möchte ich jetzt reaktiv machen.
Wie würden Sie das tun?
Meine Idee ist es, eine BehaviourSubject zu definieren:
public let loginEventBehaviourSubject = BehaviorSubject(value: true)
jetzt kann ich senden OnNext wahr, wenn die Sitzung angemeldet, und falsch, wenn es wurde abgemeldet:
loginEventBehaviourSubject.onNext(true) // on login
loginEventBehaviourSubject.onNext(false) // on logout
Und meine "Zuhörer" können es abonnieren.
Aber ich würde Themen prefere für jede Veranstaltung haben:
public let loginEventBehaviourSubject = BehaviorSubject(value:)
public let logoutEventBehaviourSubject = BehaviorSubject(value:)
Aber dann brauche ich würde nicht die Bool. Kann ich eine Art "leeres" Subjekt machen, das nur "Ereignisse" feuert, ohne wirklich Daten zu übermitteln.
Und dann meine letzte Frage: Warum muss ich eine Instanz zum Initialisierer des Betreffs hinzufügen. Warum kann ich es nicht wie folgt erstellen: BehaviourSubject<Bool>()
?