2011-03-24 83 views
1

可能重複:
NSTimer doesn't stop如何停止/無效掉的NSTimer

如何停止/無效掉的NSTimer?

下面是代碼:

- (void)autoscrollTimerFired:(NSTimer*)timer { 

    NSLog(@"Each & Every Time this MEthods is called Even if I try to invalidate it in viewDidDisappear "); 
} 


- (void)viewWillAppear:(BOOL)animated{ 

    if (autoscrollTimer == nil) { 
     autoscrollTimer = [NSTimer scheduledTimerWithTimeInterval:(35.0/1000.0) 
                  target:self 
                 selector:@selector(autoscrollTimerFired:) 
                 userInfo:nil 
                  repeats:YES]; // To repeat this thread it's as per my requirement 
    } 
} 

-(void) viewWillDisappear:(BOOL)animated { 

    [autoscrollTimer invalidate]; 
} 

所以,請建議我做這件事......

+0

你確定調用了[autoscrollTimer invalidate]嗎?並且它引用了viewWillAppear中創建的同一個對象? – 2011-03-24 15:01:45

+1

是的,這被稱爲&即使那麼計時器不會停止...爲什麼? – 2011-03-25 05:33:03

回答

3

我有同樣的問題。我想你已經把它作爲財產非原子,保留?

請做到這一點:

[self.autoscrollTimer invalidate]; 

感謝。