Я должен в состоянии задержать 2 секунды с помощью NSTIMER. Как это сделать?

StackOverflow https://stackoverflow.com/questions/3711831

Вопрос

Я хочу произвести задержку 2 секунды, используя NSTIMER, как инициализировать таймер в программе?

Это было полезно?

Решение

Несколько вариантов здесь.

Если вы просто хотите задержку 2 секунды, вы можете использовать функцию Sleep ()

#include<unistd.h>
...
sleep(2);

Или вы можете использовать NSTIMER, как так

[NSTimer    scheduledTimerWithTimeInterval:2.0    target:self    selector:@selector(fireMethod)    userInfo:nil repeats:NO];

И в вашем классе у вас будет метод, определенный как

-(void)fireMethod
{
//Do stuff 
}

Другие советы

Ну вот...

[NSTimer scheduledTimerWithTimeInterval:2 
                                     target:self 
                                   selector:@selector(action) 
                                   userInfo:nil 
                                    repeats:NO];

Простой ответ: [Nsthread SleepfortimeInterval: 10.0];

Обратите внимание, что вы не должны думать о задержках в управлении событиями UI / OS. Вы должны думать о задачах, которые вы хотите сделать сейчас, и задачи, которые вы хотите выполнить позже, и введите эти подзадачи и планируйте их соответствующим образом. например, вместо:

// code that will block the UI when done in the main thread
- (void) methodC {
  doA();
  delay(2);
  doB();
}

Вы можете захотеть иметь код, который выглядит больше похоже на:

- (void) methodA {
  doA();
  return;  // back to the run loop where other useful stuff might happen
}

- (void) methodB {
  doB();
}

И вы можете затем запланировать MODICB с NSTIMER в конце Methoda, NSTIMER начало всего, что называется Methoda, или лучшим вариантом асинхронной процедурой завершения чего-то начатого метода.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top