如何使用RACScheduler创建循环RACSignal

时间:2015-03-09 22:16:14

标签: swift reactive-cocoa racsignal

有没有办法创建每个时间间隔发出值的预定RACSignal?

我想知道除了创建调度计时器之外还有其他方法吗?或某种for循环。

1 个答案:

答案 0 :(得分:3)

有!我想你正在寻找interval:onScheduler:。它会发出当前没有用的NSDate,因此您可以使用它来采样另一个包含所需数据的信号。例如,使用常量值:

[[RACSignal return:@20] sample:[RACSignal interval:1.0
                                       onScheduler:[RACScheduler mainThreadScheduler]]];

编辑:

......或者你可以mapReplace ......

[[RACSignal interval:1.0 onScheduler:[RACScheduler mainThreadScheduler]] mapReplace:@20];

如果您想在每次间隔时间点执行计算,而您没有将其作为另一个信号,则可以使用忽略其参数的普通map

[[RACSignal interval:1.0 onScheduler:[RACScheduler mainThreadScheduler]] map:^(id x) {
    return ...
}];