Ответ 1
Во-первых, нет возможности сохранить таймер после закрытия приложения. Фоновые приложения просто не разрешены на iPhone. Есть способы подделать его таймером (сохранить временную метку, когда приложение выходит, и проверить ее против времени, когда она начнет резервное копирование), но она не будет обрабатывать случай, когда ваш таймер заканчивается до того, как приложение будет запущено обратно вверх.
Что касается обновления UILabel с обратным отсчетом, вероятно, будет работать NSTimer. Что-то вроде этого, если у вас есть таймер NSTimer, int secondsLeft и ULabel CountdownLabel в вашем классе:
Создайте таймер:
timer = [NSTimer scheduledTimerWithTimeInterval: 1.0 target:self selector:@selector(updateCountdown) userInfo:nil repeats: YES];
Метод updateCountdown:
-(void) updateCountdown {
int hours, minutes, seconds;
secondsLeft--;
hours = secondsLeft / 3600;
minutes = (secondsLeft % 3600) / 60;
seconds = (secondsLeft %3600) % 60;
countDownlabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", hours, minutes, seconds];
}
Я делаю что-то подобное в одном из моих приложений, но сейчас не имею кода.