Objective c 起动和起动;停止定时器
我有一个计时器,每10秒调用一个函数:Objective c 起动和起动;停止定时器,objective-c,nstimer,Objective C,Nstimer,我有一个计时器,每10秒调用一个函数: [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(checkForMessages) userInfo:nil
[NSTimer scheduledTimerWithTimeInterval:10.0
target:self
selector:@selector(checkForMessages)
userInfo:nil
repeats:YES];
它调用函数:
- (void)checkForMessages
{
//do something here
}
两个问题:
scheduledTimerWithTimeInterval
”返回一个“NSTimer
”对象
如果按住该对象(例如,通过“属性”
”)设置并获取该对象,则可以通过
由于您需要代码,请将其添加到视图控制器的.h@界面:
@property (strong) NSTimer * messageTimer;
然后,在视图控制器的.m文件中:
self.messageTimer = [NSTimer scheduledTimerWithTimeInterval:10.0
target:self
selector:@selector(checkForMessages)
userInfo:nil
repeats:YES];
有道理吗?是的,有道理。那么要停止计时器你会吗?我猜是这样的?[messageTimer invalidate];自己messageTimer=nil;我这样说有点不对劲。它似乎没有停止计时器。知道为什么吗?在invalidate上设置一个断点,并确保“
NSTimer
”对象与您创建的对象相同。它都是相同的messageTimer,我设置了一个断点,但没有看到任何不一致的地方。思想?