如何使用 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 ...
}];
有没有办法创建一个按时间间隔发出值的预定 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 ...
}];