Estoy intentando crear una funcionalidad de tipo "cronómetro". Tengo una etiqueta (para mostrar el tiempo transcurrido) y dos botones (iniciar y detener el temporizador). Los botones de inicio y parada llaman a las funciones startTimer
y stopTimer
, respectivamente. Cada segundo, el temporizador dispara y llama a la función increaseTimerCount
. También tengo un ivar timerCount
que se aferra al tiempo transcurrido en segundos.Crear un temporizador de iOS
- (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];
}
El problema es que parece que hay un retraso cuando se pulsa el botón de inicio (que estoy asumiendo que se debe a reinicializar el temporizador cada vez startTimer se llama). ¿Hay alguna forma de detener y reanudar el temporizador sin invalidarlo y volver a crearlo? o una forma mejor/alternativa de hacer esto?
Gracias.