如何停止/使NStimer无效

isc*_*ers 9 iphone nstimer ipad

我在用

 [NSTimer scheduledTimerWithTimeInterval:0.1f
                                  target:self
                                selector:@selector(update)
                                userInfo:nil
                                 repeats:YES];
Run Code Online (Sandbox Code Playgroud)

我想停止调用这个计时器.

viewDidDisappear
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?失效?

βha*_*avḯ 27

NSTimer *myTimer在.h文件中声明 .

像汤姆这样分配实例

myTimer = [NSTimer scheduledTimerWithTimeInterval:0.1f
                                     target:self
                                   selector:@selector(update)
                                   userInfo:nil
                                    repeats:YES];
Run Code Online (Sandbox Code Playgroud)

使用此停止和无效

- (void) viewDidDisappear:(BOOL)animated
{
    [myTimer invalidate];
    myTimer = nil;
}
Run Code Online (Sandbox Code Playgroud)


Rav*_*ran 5

尝试这个

视图控制器.h

 NSTimer *timer;
Run Code Online (Sandbox Code Playgroud)

视图控制器.m

  timer = [NSTimer scheduledTimerWithTimeInterval:1
                                         target:self
                                       selector:@selector(pollTime)
                                       userInfo:nil
                                        repeats:YES];


  - (void) viewDidDisappear:(BOOL)animated 
    {
      [super viewDidDisappear:animated];
      [timer invalidate];
    }
Run Code Online (Sandbox Code Playgroud)