【发布时间】:2015-02-20 02:15:48
【问题描述】:
我正在尝试理解这段代码以及它为什么返回信号的信号。
[[[self.signInButton
rac_signalForControlEvents:UIControlEventTouchUpInside]
map:^id(id x) {
return [self signInSignal];
}]
subscribeNext:^(id x) {
NSLog(@"Sign in result: %@", x);
}];
据我了解,UIControlEventTouchupInside 在地图函数中展开时会返回一个包含 UIButton 的下一个信号。
因此,可以安全地得出结论,当我执行映射时,它期望返回的对象是一个对象(恰好是一个信号),并且它将信号双重包装成一个信号。那是反应可可通常期望类型是对象类型并将其包装成信号?
或者
这里是不是漏了什么,我对Map的理解不如下, 它转换输入值,并产生一个输出值,(有时独立于输入值)
谢谢我是新手,任何建议都会很好!
另一个相关问题,
让我们说 uicontrol 事件在发送和错误事件中发生了变化,它会被订阅下一个错误捕获吗?
【问题讨论】:
-
这是一个很好的了解ReactiveCocoa的教程
-
那是我从那里获得代码的地方
标签: objective-c reactive-programming reactive-cocoa