2011-03-24 48 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]; 

感谢。