NSTimer Вопрос - PullRequest
       14

NSTimer Вопрос

0 голосов
/ 06 августа 2009

Как бы я использовал NSTimer для обратного отсчета или это вообще возможно? Я попробовал пару вещей и получил несколько ошибок, связанных с числами, но я хочу, чтобы это произошло, когда мой таймер активируется, он запускается с 5:00, и за каждую секунду он убирает, я хочу, чтобы появилось новое число на моем ярлыке так ....

if (Timer1 == 5:00) {

// метка будет отображать 5

}

По какой-то причине этот код дает мне ошибку при использовании 5:00 .. также я не думаю, что он даже будет вызываться, потому что таймер не активирует метод, пока не истечет время, поэтому я застрял : / любая помощь?

Ответы [ 2 ]

1 голос
/ 06 августа 2009

5: 00 не является допустимым числом в C или Objective-C.

Первое, что вы захотите сделать, - это прочитать вступление к учебным пособиям по Objective-C на developer.apple.com, а затем, вероятно, продолжить какую-то книгу по «программированию iPhone».

Ваш вопрос демонстрирует довольно полное отсутствие понимания. Ничего плохого в этом нет - просто ожидайте, что вам придется много изучать / изучать впереди вас.

Как только вы это сделаете, вы сможете понять это:

Повторяющийся NSTimer не гарантирует срабатывание каждые N минут / секунд / часов / дней (независимо от вашего интервала). Есть помои; значительный спад в зависимости от того, что происходит при срабатывании таймера.

Таким образом, вы хотите создать периодический таймер, который будет запускаться, как бы часто вы не хотели обновлять интерфейс, а затем точно определить, сколько времени прошло, используя другой механизм.

Захватите время начала - [NSDate date] работает хорошо - сохраните его где-нибудь и затем используйте его, чтобы определить, сколько времени фактически истекло, когда таймер срабатывает (захватывая другой [NSDate date] и вычитая первое из него, получить истекшее время).

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

вместо этого сделайте следующее: вставьте следующий код куда хотите таймер

[NSTimer scheduleTimerWithTimeInterval: (временной интервал в секундах) Цель: самостоятельно селектор: @selector (timerFired1 :) USERINFO: ноль Повторяет: NO];

- (void) timerFired1: (NSTimer *) таймер { // делать вещи, которые вы хотите выполнить после указанного интервала времени }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...