iPhone - NSTimer,仅在函数上次运行后至少调用n秒函数

时间:2011-06-17 01:21:32

标签: iphone nstimer function-calls nstimeinterval

只是一个简单的问题。 我有一个多次调用的函数,周期为5秒。有没有办法合并NSTimer,以便在函数调用之间有一个暂停(即所以在定时器达到某个限制之前无法调用该函数)? 任何和所有建议都表示赞赏!

亚历

1 个答案:

答案 0 :(得分: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秒内阻止所有方法调用。