开始&停止计时器

时间:2013-05-09 23:06:37

标签: objective-c nstimer

我有一个每10秒调用一次函数的计时器:

[NSTimer scheduledTimerWithTimeInterval:10.0
                                     target:self
                                   selector:@selector(checkForMessages)
                                   userInfo:nil
                                    repeats:YES];

它调用函数:

- (void)checkForMessages
{

    //do something here

}

两个问题:

  1. 如果需要,如何停止计时器?
  2. 我可以将此计时器和功能放在某处,以便我可以从不同的视图控制器调用它吗?

1 个答案:

答案 0 :(得分:1)

scheduledTimerWithTimeInterval”会返回“NSTimer”对象。

如果您抓住该对象(例如设置并通过“property”获取),则可以通过NSTimer invalidate method停止。

由于您要求代码,请将其添加到视图控制器的.h @interface:

@property (strong) NSTimer * messageTimer;

然后,在视图控制器的.m文件中:

self.messageTimer = [NSTimer scheduledTimerWithTimeInterval:10.0
                                     target:self
                                   selector:@selector(checkForMessages)
                                   userInfo:nil
                                    repeats:YES];

有道理吗?