1

有没有办法创建一个计划的 RACSignal,它会在每个时间间隔发出值?

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

4

1 回答 1

3

有!我想你正在寻找interval:onScheduler:. 它会发出 current 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 ...
}];
于 2015-03-09T22:42:45.007 回答