Установка Timerinterval быстро, затем постепенно замедляется - PullRequest
0 голосов
/ 11 ноября 2010

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

xx=0.50;
[NSTimer scheduledTimerWithTimeInterval:xx target:self selector:@selector(ontimer:) userInfo:nil repeats:YES];

-(void)ontimer
{
    xx=xx+0.05;
    NSTimeInterval dt = [timer timeInterval];
    // do something
}

Я хочу позвонить сначала на 0.50, затем на 0.55, затем на 0.60 и в ближайшее время. это значит сначала быстро, а затем постепенно замедляться.

Проблема в том, что каждый раз, когда ontimer будет вызываться в течение 0,50 секунд.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 11 ноября 2010

afaik вы не можете настроить timeInterval при запуске таймера, поэтому вам нужно каждый раз менять fireDate.Как это:

- (void)someTimerMethod:(NSTimer *)aTimer {
    static NSTimeInterval pause = 0.5;
    pause += 0.05;
    [aTimer setFireDate:[[[NSDate alloc] initWithTimeIntervalSinceNow:pause] autorelease]];
}

[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(someTimerMethod:) userInfo:nil repeats:YES];
0 голосов
/ 11 ноября 2010

Вы пробовали установить статическую переменную времени?

...