Reactive Cocoa中的'if / else'构造

时间:2016-01-13 09:55:59

标签: ios objective-c reactive-cocoa

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

在那个名为rac_testYES信号的结构中,但是因为if:[RACSignal return:@0]返回NO而有点奇怪。 为什么要调用rac_testYES方法?

1 个答案:

答案 0 :(得分:1)

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

<强> EDITED

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

根据if if信号返回YESNO,ReactivCocoa将为所提供的信号调用subscribeNext / subscribeComplited。

所以,如果你想做某事:

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