1。自带的延时(非GCD)
- (void) printString:(NSString *)paramString{
NSLog(@"%@", paramString);
}
-(void)actionDelay {
[self performSelector:@selector(printString:) withObject:@"Grand Central Dispatch" afterDelay:3.0];
}
2。GCD延时-dispatch_after , dispatch_after_f 同步操作dispatch_time_t : dispatch_t ( baseTime , addTime )
dispatch_after ( delayTime , queue , block )
dispatch_after_f (delayTime , queue , parameter , C_function )
e.g.
double delayInSeconds = 2.0;
dispatch_time_t delayInNanoSeconds = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_queue_t concurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_after(delayInNanoSeconds, concurrentQueue, ^(void){
/* Perform your operations here */
});