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.?
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.
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:
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.
Tags und Links java objective-c ios swift