Создание таймера iOS

Я пытаюсь создать функциональность типа «секундомер». У меня есть одна метка (для отображения прошедшего времени) и две кнопки (запуск и остановка таймера). Кнопки запуска и остановки вызывают функции startTimer и stopTimer соответственно. Каждую секунду таймер срабатывает и вызывает функцию IncreaseTimerCount . У меня также есть ivar timerCount , который фиксирует истекшее время в секундах.

- (void)increaseTimerCount
{
    timerCountLabel.text = [NSString stringWithFormat:@"%d", timerCount++];
}

- (IBAction)startTimer
{
    timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(increaseTimerCount) userInfo:nil repeats:YES];

}

- (IBAction)stopTimer
{
    [timer invalidate];
    [timer release];
}

Проблема в том, что при нажатии кнопки запуска возникает задержка (которая, как я предполагаю, связана с повторной инициализацией таймер каждый раз, когда вызывается startTimer). Есть ли способ просто приостановить и возобновить таймер, не делая его недействительным и не воссоздавая его? или лучший / альтернативный способ сделать это?

Спасибо.

18
задан v0idless 15 July 2011 в 18:05
поделиться