组合 RAC 信号并接收所有值
Combining RAC Signals and receive all values
我正在尝试熟悉 Reactive Cocoa,并且 运行 在组合信号时遇到问题。
我了解 combineLatest 或 zip 只会在所有组合信号至少发送一个值时发送一个值。但是,如果任何信号发送一个值,是否可以组合信号并获得一个值?
我有几个信号,我想在发送一个值时执行相同的代码,而不管其他信号是否都发送了一个值。我是以错误的方式接近这个吗?或者这可能吗?
谢谢
这个怎么样:
RACSignal* a = ...
RACSignal* b = ...
RACSignal* combined = [[RACSignal
combineLatest:@[[a startWith:nil], [b startWith:nil]]
skip:1];
此处 startWith:
确保所有信号在开始时触发一次,生成组合的 [nil, nil]
元组(skip:1
将跳过)。然后,如果例如 a
发送 @"foo"
,combined
将发送 [@"foo", nil]
的元组。
我正在尝试熟悉 Reactive Cocoa,并且 运行 在组合信号时遇到问题。
我了解 combineLatest 或 zip 只会在所有组合信号至少发送一个值时发送一个值。但是,如果任何信号发送一个值,是否可以组合信号并获得一个值?
我有几个信号,我想在发送一个值时执行相同的代码,而不管其他信号是否都发送了一个值。我是以错误的方式接近这个吗?或者这可能吗?
谢谢
这个怎么样:
RACSignal* a = ...
RACSignal* b = ...
RACSignal* combined = [[RACSignal
combineLatest:@[[a startWith:nil], [b startWith:nil]]
skip:1];
此处 startWith:
确保所有信号在开始时触发一次,生成组合的 [nil, nil]
元组(skip:1
将跳过)。然后,如果例如 a
发送 @"foo"
,combined
将发送 [@"foo", nil]
的元组。