Event Bus entspricht in iOS

8

Ich höre von Java "publish-subscribe" Stil Kommunikation zwischen Komponenten, ohne dass die Komponenten explizit voneinander zu wissen, die Event-Bus ist. Es scheint, dass mit Ereignis-Bus können wir kommunizieren sehr einfach zwischen verschiedenen Klassen mit weniger Codierung benötigt Ich weiß, dass NSNotifications in iOS dies auch tun. NSNotification ist hier kein Ersatz. Bitte lassen Sie mich wissen, abgesehen von Delegationsmuster, was ist eine gute Lösung in iOS, die ein guter Ersatz für EventBus für die Kommunikation zwischen den Klassen ist.?

    
jishnu bala 18.06.2015, 04:42
quelle

3 Antworten

7

Mit Schnell können Sie SwiftEventBus verwenden. Es ist nur ein netter Wrapper um das NSNotificationCenter und DispatchQueue .

Registrieren Sie sich für ein Ereignis:

%Vor%

Löse ein Ereignis aus:

%Vor%

Und wenn Sie es anpassen müssen, ist der Quellcode kurz , klar und einfach zu verstehen.

    
lifeisfoo 07.03.2016, 13:06
quelle
3

Ich denke, Sie können NSNotificationCenter dafür verwenden. Ich habe Ihren Kommentar gelesen, dass es Eins-zu-Viele ist und dass es standardmäßig stimmt, aber Sie können angeben, von welchem ​​Objekt Sie erhalten möchten Nachrichten wie folgt:

%Vor%

Hier erhalten Sie das MyPersonalNotification in someSelector: nur, wenn someOtherObject es postet. Dies machte die Kommunikation eins zu eins.

Sie können auch die Key-Value Observing-API Aber ich persönlich fand es etwas unangenehm.

    
Bruno Berisso 23.06.2015 14:35
quelle
0

Sehen Sie sich tolo an.
Die Funktionalität ähnelt in gewisser Weise einem Event-Bus und hat einen großen Vorteil gegenüber NSNotification, da Sie sich beim Aufheben der Zuordnung nicht abmelden müssen (wie in iOS9).

    
tagyro 22.06.2015 13:11
quelle

Tags und Links