I have the same problem as this post, Combine signals in ReactiveCocoa to a new one that fires when all change
So I changed to use zip: the the odd problem is the second signals data is not latest one. I put a log in the second signal's map code, it's the latest. E.g.
Signal A, Signal B
[self rac_liftSelector:@selector(doTask:) withSignals:[RACSignal zip:@[A, B]
reduce^id(NSNumber* a, NSNumber* b){
a// is updated to latest
b// is the old value
}];
In Signal B, I put log found b value is updated. If I changed back to CombineLatest: b is updated but a is old value and the signal is not triggered.