Observe the view controller's isViewLoaded
property, filter out NO
values, and then -flattenMap:
the YES
value into a signal of the button's control events:
- (RACSignal *)buttonEvents
{
@weakify(self);
return [[[RACObserve(self, isViewLoaded)
filter:^BOOL(NSNumber *isLoaded) {
return isLoaded.boolValue;
}]
take:1]
flattenMap:^id(id _) {
@strongify(self);
return [self.myButton rac_signalForControlEvents:UIControlEventTouchUpInside];
}];
}