Combine sinais em ReactiveCocoa para um novo que é acionado quando todas as mudanças
Estou tentando aprender o ReactiveCocoa e estou escrevendo um clone simples do Space Invaders, baseado em um tutorial do Ray Wenderlich. Ultimamente, durante o desenvolvimento, enfrentei um problema que não posso resolver. Basicamente eu tenho dois sinais:
um sinal de gesto de toqueuma sequência cronometrada que dispara a cada segundoO que eu quero alcançar é combinar esses sinais em um novo, que dispara quando ambos os sinais mudam: é possível? Eu vi o método combineLatest, mas o bloco é executado sempre que algum sinal muda.
Meu pseudocódigo desejado é:
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);
}];
Provavelmente eu posso conseguir o mesmo resultado de outra forma ou este não é o comportamento esperado ou ReactiveCocoa, mas neste momento eu me pergunto se estou no caminho certoreativo rastrear ou não.