'if / else' 响应式构建 Cocoa

'if / else' construction in Reactive Cocoa

我想通过 Reactive Cocoa 创建 if/else 构造。 我有代码:

在那个叫做rac_testYES signal 的结构中,但它有点奇怪,因为if:[RACSignal return:@0] returnNO。 为什么要调用 rac_testYES 方法?

此代码按预期工作。 如果将 if 语句更改为 [RACSignal return:@1],则将打印 YES

已编辑

调用这两个方法是因为它们只是 [RACSignal if:then:else:] 方法的参数。

ReactivCocoa 会根据 if if signal return YES or NO.

为提供的信号调用 subscribeNext/subscribeComplited

因此,如果您想为“是”做某事:

-(RACSignal)rac_testYES {
    return [RACSignal createSignal:^RACDisposable *(id <RACSubscriber> subscriber) {
        //do sth
        [subscriber sendNext:@"YES"];
        [subscriber sendComplited]; 
    }
}