【问题标题】:How to stop/invalidate a NSTimer [duplicate]如何停止/使 NSTimer 无效 [重复]
【发布时间】:2011-03-24 11:56:29
【问题描述】:

可能重复:
NSTimer doesn't stop

如何停止/使 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];
}

所以,请建议我这样做......

【问题讨论】:

  • 您确定调用了 [autoscrollTimer invalidate] 吗?并且它引用了在 viewWillAppear 中创建的同一个对象?
  • 是的,这就是所谓的,即使这样,计时器也不会停止……为什么??

标签: ios4 timer ios-simulator nstimer iphone-sdk-4.1


【解决方案1】:

我遇到了同样的问题。我猜你已经把它作为非原子属性,保留吗?

请这样做:

[self.autoscrollTimer invalidate];

谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    • 2011-03-31
    • 1970-01-01
    相关资源
    最近更新 更多