iphone NStimer запускается через 2 секунды

Я пытаюсь иметь блок кода, выполненный спустя 2 секунды после того, как я 'запущу' его.

Я думаю, что NSTimer может сделать это, но не может понять это.

6
задан Ian Vink 6 May 2010 в 21:57
поделиться

3 ответа

Следующее сделает то, что вам нужно:

 NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval: 2 
                                   target:self 
                                   selector:@selector(handleTimer:) 
                                   userInfo:nil
                                   repeats:NO];

Затем функция делегата:

-(void)handleTimer: (NSTimer *) timer 
{       
   //code
}
11
ответ дан 8 December 2019 в 02:19
поделиться

NSTimer можно использовать, но другой вариант - использовать performSelector: withObject: afterDelay: Это в основном похоже на вызов метода (отправка сообщения ), что произойдет позже.

Этот пример отправляет сообщение doStuff: после задержки:

[self performSelector:@selector(doStuff:) withObject:self afterDelay:2];

, что вызывает вызов этого метода через 2,0 секунды:

-(void)doStuff:(id)sender 
{
    /// do something
}
19
ответ дан 8 December 2019 в 02:19
поделиться

Вы должны быть в состоянии установить NSTimeInterval на 2.0 секунды и он должен сработать через это время. Что вы видите? Какой код вы используете для вызова таймера?

2
ответ дан 8 December 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: