我想通过Reactive Cocoa创建 if / else 构造。 我有代码:
在那个名为rac_testYES
信号的结构中,但是因为if:[RACSignal return:@0]
返回NO
而有点奇怪。
为什么要调用rac_testYES
方法?
答案 0 :(得分:1)
此代码按预期工作。
如果您将if语句更改为[RACSignal return:@1]
,则会打印YES
。
<强> EDITED 强>
调用这两种方法是因为它们只是[RACSignal if:then:else:]
方法的参数。
根据if if
信号返回YES
或NO
,ReactivCocoa将为所提供的信号调用subscribeNext / subscribeComplited。
所以,如果你想做某事:
-(RACSignal)rac_testYES {
return [RACSignal createSignal:^RACDisposable *(id <RACSubscriber> subscriber) {
//do sth
[subscriber sendNext:@"YES"];
[subscriber sendComplited];
}
}