0
我有一個程序,在這個程序中我想編寫一個定時器來檢查用戶是否閒置。爲此,我寫了以下代碼:NSTimer沒有運行
if (!idleTimer) {
NSLog(@"make");
idleTimer=[[NSTimer alloc]initWithFireDate:[NSDate dateWithTimeIntervalSinceNow:10.0]interval:10 target:self selector:@selector(idleTimerExceeded) userInfo:nil repeats:NO];
NSLog(@"madetimer with: %f, %@", idleTimer.timeInterval, idleTimer.fireDate);
}else {
NSLog(@"no reset timer: %f", idleTimer.timeInterval);
if (fabs([idleTimer.fireDate timeIntervalSinceNow]) < 9) {
NSLog(@"reset");
[idleTimer setFireDate:[NSDate dateWithTimeIntervalSinceNow:10]];
}
}
但是不知何故,我的日誌顯示間隔始終爲0.0000。這意味着這裏有什麼不對。有誰能夠幫助我?
事情堅持一個NSLog的消息是:這是方法檢查如果用戶閒置或沒有。一旦(UIResponder *)nextResponder方法被執行,這個方法就會被調用,然後或者如果還沒有新的定時器,或者檢查用戶是否閒置超過9秒。如果是這樣,那麼另一個方法就會被執行。 – iJatrat 2011-12-23 20:41:07
雖然我會分開它。只需在您調用此功能的同一時刻安排定時器。 – 2011-12-23 20:43:56