다음은 touchesMoved : withEvent : 내에서 사용하는 코드입니다. 타이머는 다음 코드로 산발적으로 해고 :무효화에도 불구하고 NSTimer가 실행되지 않고 NIL로 설정됩니다.
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 = 전무를, 올바르게 행동하면; 즉, touchesMoved : withEvent :에 대한 호출 사이의 시간이 _settings.pauseTime이 아닌 한 다시는 실행되지 않습니다. 왜 "old"_pauseTimer가 무효화되고 무효로 설정 되더라도 주변에 매달려있는 이유는 무엇입니까?
왜'_pauseTimer'를'userInfo' 인수로 전달합니까? 타이머 자체가 유지됩니다. 대신에 'nil'을 전달해야합니다. – jlehr
이것은 답변이 아니지만 다음과 같은 방법으로 시도했습니다 .http : //stackoverflow.com/questions/15383782/how-to-reset-nstimer-for-touch-touch-move-in-ios – Krishnan
무효화 그것을 중단해야합니다 ... 중단 점을 설정하십시오 –