Как запустить NSTimer, когда я нажимаю на кнопку? - PullRequest
0 голосов
/ 27 июля 2010

Как я могу запустить NSTimer, когда пользователь нажимает кнопку?

РЕДАКТИРОВАТЬ: у меня был работающий код и все такое, но я поместил код, чтобы скрыть кнопку над кодом NSTimer, и когда я поместил его под кодом NSTimer, он заработал!

Ответы [ 3 ]

9 голосов
/ 27 июля 2010

Строка кода для запуска таймера ( прочитайте документы здесь ):

[NSTimer scheduledTimerWithTimeInterval:1.0
                                 target:self
                               selector:@selector(timerFired:)
                               userInfo:nil
                                repeats:nil];

Это вызовет метод timerFired: через 1 секунду, т.е.

- (void)timerFired:(NSTimer *)timer {
  NSLog(@"timer : %@ has gone off", timer);
}

Чтобы заставить это срабатывать от кнопки, вам нужен этот метод в вашем .h файле:

- (IBAction)buttonPressed:(id)sender;

и в вашем файле .m обнаружите нажатие кнопки следующим образом:

- (IBAction)buttonPressed:(id)sender {
  NSLog(@"Button's been pressed!");
}

Затем в конструкторе интерфейсов подключите к этому методу действие кнопки «Toiuch Up Inside».

0 голосов
/ 10 марта 2011

Вы должны вставить команду [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFired:) userInfo:nil repeats:nil]; внутри нажатия кнопки.Только тогда вы можете запустить NStimer после нажатия кнопки (если вы хотите запустить таймер после события нажатия кнопки)

0 голосов
/ 27 июля 2010

Запланируйте это в IBAction кнопки.Проверьте NSTimer Class Reference , чтобы узнать, как использовать таймеры.

...