2013-12-10 87 views
0

我有一個簡單的應用程序,並沒有做更多的事情(目前)不是創建一個定時器:可可 - 的NSTimer initWithFireDate:多秒爲時已晚?

 _time = [[NSTimer alloc] initWithFireDate: _nextDate 
           interval: 0.0f 
            target: self 
           selector: @selector(trackTime) 
           userInfo: nil 
            repeats: NO]; 
[[NSRunLoop currentRunLoop] addTimer:_time forMode:NSRunLoopCommonModes]; 

在trackTime功能我檢查,看看有多少差別有既定發射日期間( _nextDate)和實際開火日期:

 NSTimeInterval secondsBetween = [_nextDate timeIntervalSinceDate:[NSDate date]]; 

從結果看來,該函數似乎太晚調用2到4秒。

這是正常的嗎?我需要不同的runloop模式嗎?還有什麼我可以做得更好的時機?

回答