有没有办法创建每个时间间隔发出值的预定RACSignal?
我想知道除了创建调度计时器之外还有其他方法吗?或某种for循环。
答案 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 ...
}];