Таймер обратного отсчета в какао - PullRequest
2 голосов
/ 21 августа 2009

Мне интересно, есть ли способ создать таймер обратного отсчета от заданного времени. Например, скажем, я хочу, чтобы этот таймер длился час. Будет NSTextField, который покажет оставшееся время (например, 25 минут) и будет автоматически обновляться каждую минуту до нового значения. И затем, когда час, наконец, пройдет, он запустит какую-то функцию. Я видел людей, предлагающих NSTimer и NSDate для этого, но мне интересно, что вы все могли бы предложить.

Спасибо!

РЕДАКТИРОВАТЬ: Мой текущий код (timeInstance является переменной экземпляра):

- (void)awakeFromNib:
{
timeInstance = [[NSDate date] addTimeInterval:(10 * 60)];
[timeInstance retain];

[timer invalidate];
timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(timer:) userInfo:NULL repeats:YES];
}

- (void)timer:(NSTimer *)myTimer
{
NSDate *now = [NSDate date];
// Compare
}

1 Ответ

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

NSTimer и NSDate звучат вполне разумно.

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

...