有没有办法创建一个计划的 RACSignal,它会在每个时间间隔发出值?
我想知道除了创建调度计时器之外是否还有其他方法?或某种 for 循环。
有没有办法创建一个计划的 RACSignal,它会在每个时间间隔发出值?
我想知道除了创建调度计时器之外是否还有其他方法?或某种 for 循环。
有!我想你正在寻找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 ...
}];