Как создать зацикленный RACSignal с RACScheduler
Есть ли способ создать запланированный RACSignal, который выдает значение каждый интервал времени?
Мне интересно, есть ли другой способ, кроме создания таймера отправки? или какой-то цикл.
1 ответ
Решение
Есть! Я думаю, что вы ищете 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 ...
}];