Как я могу сбросить таймер? - PullRequest
1 голос
/ 21 апреля 2011

У меня есть приложение, которое каждые 3 секунды запускает событие, которое отправляется на мой сервер и получает информацию. Я хотел бы сбросить таймер обратного отсчета, если событие произошло между временем последнего срабатывания таймера и его последующим срабатыванием.

Так что, по сути, если мое другое событие срабатывает через 2,5 секунды, а таймер настроен на срабатывание через 0,5 секунды, я бы хотел сбросить таймер обратно на 3 секунды. Как мне это сделать?

Я объявляю таймер как:

_timer = [NSTimer scheduledTimerWithTimeInterval:3.0 target: self
                                                selector: @selector(getUpdates)
                                                userInfo:nil
                                                repeats: YES];

и псевдо:

-(void) anEventHappened
{
  // I got something from the server, I don't need to query it.  Reset timer here.
}

-(void) getUpdates
{
  // I received no reset, I should check for an update.
}

1 Ответ

2 голосов
/ 21 апреля 2011

Это работает?

[_timer invalidate];
_timer = [NSTimer scheduledTimerWithTimeInterval:3.0 target: self
                                            selector: @selector(getUpdates)
                                            userInfo:nil
                                            repeats: YES];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...