Skip to main content
 首页 » 操作系统

swift之如何使用 RACScheduler 创建循环 RACSignal

2024年01月01日48hnrainll

有没有一种方法可以创建一个按时间间隔发出值的预定 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 ... 
}];