标签(空格分隔): 计时器 GCD timer 倒计时
GCD 定时器
NSTimer 的定时器是在 RunLoop 中实现的,由于RunLoop在处理各种任务,所以会造成计时器不够准确,有时候会相对慢一些,有没有什么方法会让计时变得准确?有,使用 GCD 的计时器方法会让计时器变得相对准确,而且GCD不受RunLoop的 Mode 影响。
GCD 延时
我们之前写过延时执行的方法,其中 GCD 有一个延时执行的方法,,只执行一次,执行完后,就不再执行.如下代码在这里等待两秒钟后执行,执行之后就结束了,不能起到定时器的作用.
//延时执行
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSLog(@"-------延时执行--------");
});
GCD 定时器的实现
GCD 计时器,苹果已经有代码提示啦!
在之前写一个GCD的定时器很麻烦,需要一步步创建,现在XCode中已经有Timer的创建提示,选择箭头所指的方法,直接能过创建。
如下:
dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, );
dispatch_sour