我正在设置一个计时器,以 13 分钟的间隔触发。但是计时器似乎以不规则的间隔被触发。这是一个间歇性问题。一些用户报告了这个问题,我无法重现相同的问题。
- (void)resetIdleTimer
{
if (_idleTimer)
{
[_idleTimer invalidate];
[_idleTimer release];
_idleTimer = nil;
}
_idleTimer = [[NSTimer scheduledTimerWithTimeInterval:13*60.0
target:self
selector:@selector(idleTimerExceeded)
userInfo:nil
repeats:NO] retain];
}
- (void)idleTimerExceeded
{
// do some processing
[_idleTimer release];
_idleTimer = nil;
}
定时器将根据某些条件被重置(resetIdleTimer),但无论如何都会将定时器重置为 13 分钟。
当我查看代码时,我只能看到没有将计时器参数传递给选择器的问题。我不确定这是否是这个问题的原因?有没有人遇到过这种怪事?(我将如何更新代码以将计时器作为参数)。一位用户报告说它只是在 4 分钟后发生。