NSTimer вопрос времени метка времени - PullRequest
0 голосов
/ 29 мая 2010

У меня есть следующий код:

[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, интервал времени, который я установил для scheduleTimerWithInterval, это означает, что timerCount будет вызываться каждые 0,5 секунды.

Но я теперь, когда есть некоторые вещи, как timeStamps, и я хочу знать, будет ли NSTimer вызывать метод timerCount ТОЧНО 0,5 секунды каждый раз.

Ответы [ 2 ]

0 голосов
/ 31 августа 2012
 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];
}

}

0 голосов
/ 04 февраля 2011

Вы не получите этого, используя NSTimer в основном потоке, так как таймер вызывается только циклом событий.

Если вам нужна максимальная точность, просто создайте поток с собственным циклом сообщений и запланируйте таймер там.

...