dispatch_after

在指定时间后执行处理的情况,可使用dispatch_after函数来实现。

在3秒后将指定的Block追加到Main Dispatch Queue的代码

dispatch_time_t time = dispatch_time(DISPATCH_TIME_NOW, 3ull * NSEC_PER_SEC);

dispatch_after(time, dispatch_get_main_queue, ^{
NSLog(@" waited at lease three seconds");

});

需要注意的是,dispatch_after函数并不是在指定时间后执行处理,而是在指定时间追击到Dispatch Queue.

在大致延迟执行处理时,该函数是非常有效的。

dispatch_time函数

第一个参数dispatch_time_t , 指定的时间开始。经常使用DISPATCH_TIME_NOW,表示现在的时间。

第二个参数指定的毫微秒单位时间。NSEC_PER_MSEC毫秒
NSEC_PER_SEC秒

你可能感兴趣的:(dispatch_after)