2015-02-13 2 views
0

Есть ли способ удалить начальную задержку на NSTimer? Следующий код для моего таймера, который все в порядке.NSTimer Without Initial Delay

NSTimer *timer; 
timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(updateTime) userInfo:nil repeats:YES]; 

Однако метод не работает в течение первых 5 секунд. Я хочу, чтобы мой метод (updateTime) запускался на следующей временной шкале с 00:00:00, когда приложение открыто.

  • 00:00:00 - Запуск Метод
  • 00:00:05 - Запуск Метод
  • 00:00:10 - Запуск Метод

В настоящее время, это только делает:

  • 00:00:05 - Запуск Метод
  • 00:00:10 - Запуск Метод

ответ

5

Вы не можете сделать огонь по таймеру до его временной интервал истек, но вы можете сделать это:

NSTimer *timer; 
timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(updateTime) userInfo:nil repeats:YES]; 
[self updateTime]; 
+0

поэтому выполняется один раз от себя и с этого момента от nstimer – simbo64

+0

Вправо. Вы отправляете сообщение в первый раз, и таймер будет следить за отправкой последующих сообщений каждые 5 секунд. – Caleb

+1

brill, спасибо. простой в конце :) – simbo64

0

Просто добавьте эту простую линию

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(updateTime) userInfo:nil repeats:YES]; 
[timer fire];