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 回答