0

簡単な質問です。5秒間に複数回呼び出される関数があります。関数呼び出しの間に一時停止があるように(つまり、タイマーが特定の制限に達する前に関数を呼び出すことができないように)NSTimerを組み込む方法はありますか?ありとあらゆる提案を歓迎します!

アレックス

4

1 に答える 1

0

特定のメソッドが呼び出された後、特定の期間呼び出されたくない場合は、これを行うことができます。

- (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秒間すべてのメソッド呼び出しがブロックされます。

于 2011-06-17T02:22:36.227 に答える