Хорошо, я искал онлайн и даже посмотрел в нескольких книгах для ответа, потому что я не могу понять документацию яблока для NSTimer. Я пытаюсь реализовать 2 таймера на том же представлении, что у каждого есть 3 кнопки (ЗАПУСТИТЕ - ОСТАНОВКА - СБРОС).
Новичок рассчитывает по сравнению с 2 минутами и затем подает звуковой сигнал.
Второй таймер подсчитывает с 0:00 неограниченно долго.
Я предполагаю, что весь код будет написан в методах позади 3 различных кнопок, но я полностью потерян, пытаясь прочитать документацию яблока. Любая справка значительно ценилась бы.
По сути, вам нужно событие, которое запускается каждую 1 секунду или, возможно, с интервалом в 1/10 секунды, и вы обновите свой пользовательский интерфейс, когда сработает таймер.
Следующий код создаст таймер и добавит его в цикл выполнения. Сохраните таймер где-нибудь, чтобы вы могли убить его при необходимости.
- (NSTimer*)createTimer {
// create timer on run loop
return [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerTicked:) userInfo:nil repeats:YES];
}
Теперь напишите обработчик для тика таймера:
- (void)timerTicked:(NSTimer*)timer { // decrement timer 1 … this is your UI, tick down and redraw [myStopwatch tickDown]; [myStopwatch.view setNeedsDisplay]; // increment timer 2 … bump time and redraw in UI … }
Если пользователь нажимает кнопку, вы можете сбросить счетчики или запустить или остановить отсчет. Чтобы завершить таймер, отправьте сообщение о недействительности:
- (void)actionStop:(id)sender {
// stop the timer
[myTimer invalidate];
}
Надеюсь, это поможет вам.