Tengo un temporizador que se dispara cuando se llama al método viewWillAppear
y se invalida cuando se llama al método viewDidDisappear
. Pero después de una cierta cantidad de cambio entre las vistas, el temporizador continúa disparando incluso después de que se haya invalidado. ¿Cuál es el problema?NSTimer no se detiene
Aquí está mi código:
NSTimer *timer;
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
timer = [NSTimer scheduledTimerWithTimeInterval: 0.2f
target: self
selector:@selector(timerAction)
userInfo:nil
repeats:YES];
}
-(void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
[timer invalidate];
timer = nil;
}
-(void) timerAction
{
NSLog(@"timerAction");
}
Cómo hacer esto en ARC cuando '' retain' y puesta en circulación no están permitidos? –
Para iOS 7/8, ver la respuesta por debajo de aproximadamente utilizando un par de 'repite: temporizadores NO'. –