Как создать зацикленный 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 ...
}];
Другие вопросы по тегам