iPhone - NSTimer и вызов функции только минимум через n секунд после последнего запуска функции - PullRequest
0 голосов
/ 17 июня 2011

просто быстрый вопрос.У меня есть функция, вызываемая несколько раз с периодом 5 секунд.Есть ли способ включить NSTimer так, чтобы между вызовами функции была пауза (то есть нет способа вызвать функцию до того, как таймер достигнет определенного предела)?Любые и все предложения приветствуются!

Алекс

1 Ответ

0 голосов
/ 17 июня 2011

Если вы не хотите, чтобы определенный метод вызывался в течение определенного периода времени после его вызова, вы можете сделать это,

- (void)methodThatDoesStuff {
    static NSDate * lastCalled = nil;
    if ( [[NSDate date] timeIntervalSinceDate:lastCalled] < 5 ) {
        NSLog(@"Call Blocked");
        return;
    }

    NSLog(@"Called");

    [lastCalled release];
    lastCalled = [[NSDate date] retain];
}

Это заблокирует все вызовы метода на 5 секунд послеМетод успешно выполнен.

...