ReactiveCocoa限制更新

时间:2014-07-15 08:13:59

标签: xcode reactive-cocoa

可以使用 ReactiveCocoa 以某种方式限制更新下载0.3秒? 例如:

if (the_previous_update == indefinitely)
{
update;
}
if else (current_time - the_previous_update>=0.3)
{
the_previous_update = current_time;
update;
}
else{
do nothing;
}

2 个答案:

答案 0 :(得分:4)

也许是这样的?

RACSignal *updateSignal = ... // a signal that sends a 'next' whenever download has progressed.

[[updateSignal throttle:0.3] subscribeNext:^(id x) {
  updateUI();
}];

答案 1 :(得分:0)

是的,因为@Grav说throttle似乎是您用例的最佳操作。油门基本上会存储下一个事件,并在给定的时间间隔内发送最后一个事件。

使用限制,您可以确保每0.3秒更新一次UI,并确保用于更新的值将是在给定时间间隔内收到的最后一个值。

这与delay不同。