У меня раньше был один NSTimer
, который отлично работает. Я добавил еще один NSTimer
в мою runloop, так как теперь мне нужно много раз вызывать две функции после задержки. Обе функции имеют различную задержку. Мой код приведен ниже.Второй NSTimer не работает?
self.now = [NSDate date] ;
self.timer = [[NSTimer alloc] initWithFireDate:self.now
interval:500
target:self
selector:@selector(Func1)
userInfo:nil
repeats:YES] ;
self.runLoop = [NSRunLoop currentRunLoop];
[runLoop addTimer:self.timer forMode:NSDefaultRunLoopMode];
[self.runLoop runUntilDate:[NSDate dateWithTimeIntervalSinceNow:10000]];
//Second timer start here.its not working.The function 'func2' is not getting called
self.now = [NSDate date] ;
self.timer = [[NSTimer alloc] initWithFireDate:self.now
interval:60
target:self
selector:@selector(Func2)
userInfo:nil
repeats:YES] ;
self.runLoop = [NSRunLoop currentRunLoop];
[runLoop addTimer:self.timer forMode:NSDefaultRunLoopMode];
[self.runLoop runUntilDate:[NSDate dateWithTimeIntervalSinceNow:10000]];
NSTimer
Первый по-прежнему работает, но второй NSTimer
не работает.
Если вы все еще видите проблемы после принятия исправления, предложенного Фолькером, я бы заглянул в ваши вызовы runloop. Это не выглядит правильным.Вы должны настроить два таймера, добавив их в runloop, и это все (если это основной поток). Если это не так, и вы должны сами запустить цикл выполнения, я думаю, что это должно быть сделано в цикле while. –
@ Volker его все еще не работает – zzzzz
См. Ответ Роба для решения другой проблемы в вашем коде – Volker