Ich verwende ReactiveCocoa und ich habe mehrere SignalProducersReactiveCocoa kombinieren SignalProducers in einem
let center = NSNotificationCenter.defaultCenter()
let signalProducer1 = center.rac_notification(name: notificationName1, object: nil)
let signalProducer2 = center.rac_notification(name: notificationName2, object: nil)
let signalProducer3 = center.rac_notification(name: notificationName3, object: nil)
Ich möchte, dass sie in einem einzigen Signalerzeuger kombinieren, die ein Signal erzeugt, wenn einer von ihnen ein Signal erzeugt.
Zunächst wird die Funktion combineLatest
sah wie eine gute Lösung
let combinedProducer = combineLatest(signalProducer1, signalProducer2, signalProducer3)
jedoch gemäß this article der resultierende Produzent erzeugt nur ihr erstes Signal, wenn alle drei ein Signal erzeugt haben.
This interactive diagram zeigt genau das, was ich will, also möchte ich die flatten
Funktion mit der .Merge
FlatteningStrategy verwenden. Es fällt mir jedoch schwer, die Syntax dafür herauszufinden.
Siehe https://github.com/ReactiveCocoa/ReactiveCooco/blob/master/Documentation/BasicOperators.md#merging –