【发布时间】:2015-08-19 09:28:05
【问题描述】:
我有 3 个属性要观察,当其中任何一个发生变化时,我想调用同一个块。
我不能使用 combineLast:reduce: 因为有时三个信号中只有一个会生成下一条消息。
除了写RACObserve() 3遍还有什么好主意吗?
【问题讨论】:
标签: reactive-cocoa
我有 3 个属性要观察,当其中任何一个发生变化时,我想调用同一个块。
我不能使用 combineLast:reduce: 因为有时三个信号中只有一个会生成下一条消息。
除了写RACObserve() 3遍还有什么好主意吗?
【问题讨论】:
标签: reactive-cocoa
我能想到的最简洁的方法是合并所有三个信号,以便每个事件都在单个流中传递,如下所示:
[[RACSignal merge:@[RACObserve(self, property1),
RACObserve(self, property2),
RACObserve(self, property3)]]
subscribeNext:^(id x){
NSLog(@"%@", x);
}]
【讨论】: