NSTimer时间戳时间间隔问题

时间:2010-05-29 14:35:11

标签: nstimer nstimeinterval

我有以下代码:

[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(timerCount:) userInfo:nil repeats:YES];

-(void)timerCount:(NSTimer *)timer
{
    NSTimeInterval dt = [timer timeInterval];
    // do something
}

我得到的NSTimeInterval将是0.5,我把它放在scheduledTimerWithInterval上的时间间隔,这意味着每隔0.5秒就会调用一次timerCount。

但我现在有一些东西作为timeStamps,我想知道NSTimer是否会在每次0.5秒内专门调用timerCount方法。

2 个答案:

答案 0 :(得分:0)

你不会在主线程上使用NSTimer,因为定时器只能由事件循环调用。

如果你需要最大精度,只需用它自己的消息循环创建一个线程并在那里安排定时器。

答案 1 :(得分:0)

 aTimer = [NSTimer timerWithTimeInterval:(1.0) target:self selector:@selector(timerFired:) userInfo:nil repeats:YES];

        NSRunLoop *runner = [NSRunLoop currentRunLoop];
        [runner addTimer:aTimer forMode: NSDefaultRunLoopMode];


- (void)timerFired:(NSTimer*)theTimer
 {

    if(condition)
    { 
        //timer terminated
        [theTimer isinValid];
}

}