这是我在 touchesMoved:withEvent: 中使用的代码。计时器会使用以下代码偶尔触发:
if(_pauseTimer) {
[_pauseTimer invalidate];
_pauseTimer=nil;
}
//Restart the pause timer.
_pauseTimer = [NSTimer scheduledTimerWithTimeInterval:_settings.pauseTime
target:self
selector:@selector(timerExpired:)
userInfo:_pauseTimer
repeats:NO];
但是,一旦我注释掉 _pauseTimer=nil,它的行为就正确了;即,除非调用 touchesMoved:withEvent: 之间的时间为 _settings.pauseTime,否则它不会再次触发。为什么那个“旧的” _pauseTimer 尽管被无效并设置为零,但仍然存在?