Kombinieren Sie die Signale in ReactiveCocoa zu einem neuen Signal, das bei jeder Änderung ausgelöst wird

Ich versuche ReactiveCocoa zu lernen und schreibe einen einfachen Space Invaders-Klon, der auf einem Ray Wenderlich-Tutorial basiert. In letzter Zeit war ich mit einem Problem konfrontiert, das ich nicht lösen kann. Grundsätzlich habe ich zwei Signale:

ein Tipp-Gesten-SignalEine zeitgesteuerte Sequenz, die jede Sekunde ausgelöst wird

Was ich erreichen möchte, ist, diese Signale in einem neuen zu kombinieren, der ausgelöst wird, wenn sich beide Signale ändern: Ist es möglich? Ich habe die Methode compressLatest gesehen, aber der Block wird ausgeführt, wenn sich Signale ändern.

Mein gewünschter Pseudocode ist:

RACSignal *updateEventSignal = [RACSignal interval:1 onScheduler:[RACScheduler mainThreadScheduler]];
RACSignal *gestureSignal = [[UITapGestureRecognizer new] rac_gestureSignal];
[[RACSignal combineBoth:@[gestureSignal, updateEventSignal]
                   reduce:^id(id tap, id counter){
                       return tap;
                   }]
 subscribeNext:^(id x) {
     NSLog(@"Tapped [%@]", x);
 }];

Wahrscheinlich kann ich das gleiche Ergebnis auf andere Weise erzielen oder dies ist nicht das erwartete Verhalten oder ReactiveCocoa, aber an diesem Punkt frage ich mich, ob ich im Recht binreaktiv verfolgen oder nicht.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage