NSTimer no se detiene

Tengo un temporizador que dispara cuando elviewWillAppear método se está llamando e invalida cuando elviewDidDisappear El método se está llamando. Pero después de una cierta cantidad de cambios entre vistas, el temporizador continúa disparándose incluso después de que fue invalidado. ¿Cuál es el problema?

Aquí está mi código:

<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");
}
</code>

Respuestas a la pregunta(12)

Su respuesta a la pregunta