Если вы не хотите, чтобы определенный метод вызывался в течение определенного периода времени после его вызова, вы можете сделать это,
- (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 секунд послеМетод успешно выполнен.