J'ai un temporisateur qui se déclenche lorsque la méthode viewWillAppear
est appelée et invalide lorsque la méthode viewDidDisappear
est appelée. Mais après un certain nombre de commutations entre les vues, la minuterie continue de fonctionner même après son invalidation. Quel est le problème?NSTimer n'arrête pas
Voici mon code:
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");
}
Comment faire cela dans ARC quand 'retain' et' release' ne sont pas autorisés? –
Pour iOS 7/8, voir la réponse ci-dessous à propos de l'utilisation d'une paire de temporisations 'répétitions: NON '. –