如何使用 RACScheduler 创建循环 RACSignal

How to create a looping RACSignal with RACScheduler

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

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

有!我认为您正在寻找 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 ...
}];