NSTimer się nie zatrzymuje

Mam zegar, który strzela, gdyviewWillAppear metoda jest wywoływana i unieważniana, gdyviewDidDisappear wywoływana jest metoda. Ale po pewnym przełączeniu między widokami zegar kontynuuje strzelanie nawet po jego unieważnieniu. Jaki jest problem?

Oto mój kod:

<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>

questionAnswers(12)

yourAnswerToTheQuestion