GCD计时器

作者: 程序猿界的cai渣渣 | 来源:发表于2016-09-29 14:35 被阅读39次

计时器的方法是用:

计时器方法有多种,其中一个可以使用GCD,也可以用NSTimer,现在介绍GCD的方法(笔者认为这种较好)。
- (void)showCountdownTimer {

    __block int timeout = 300;

    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

    dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);

    dispatch_source_set_timer(_timer, dispatch_walltime(NULL, 0), 1.0 * NSEC_PER_SEC, 0);

    dispatch_source_set_event_handler(_timer, ^{
    
        if (timeout <= 0) {//倒计时结束,关闭
            dispatch_source_cancel(_timer);
//          dispatch_release(_timer);//ARC下使用-释放(销毁timer)
            dispatch_async(dispatch_get_main_queue(), ^{
                //设置界面的按钮显示 根据自己需求设置
            });
         }else {
            int minutes = timeout / 60;
            int seconds = timeout % 60;
            NSString *timeStr = [NSString stringWithFormat:@"%2d分%.2d秒后重新获取验证码", minutes, seconds];
            dispatch_async(dispatch_get_main_queue(), ^{
                //设置界面的按钮显示 根据自己需求设置
            });
            timeout --;
         }
    });
    dispatch_resume(_timer);
}
现在展示的是倒计时,也可以当作计时器(秒表)使用。

相关文章

  • iOS - 计时器及冲突问题(NSTimer,dispatch_

    说到计时器大家也都很清楚NSTimer计时器,GCD 计时器。下面我们来说一下这两个计时器,以及计时器在遇到UIS...

  • GCD计时器

    计时器的方法是用: 计时器方法有多种,其中一个可以使用GCD,也可以用NSTimer,现在介绍GCD的方法(笔者认...

  • 面试问题总结

    Runtime理解。 Runloop理解,结合计时器。 GCD常用的方法。 GCD的原理。 KVO和KVC的实现原...

  • iOS - GCD 实现定时器、倒计时

    标签(空格分隔): 计时器 GCD timer 倒计时 GCD 定时器 NSTimer 的定时器是在 RunLoo...

  • NSTimer CADisplayLink GCD计时器的深入探

    关于NSTimer CADisplayLink GCD计时器的杂谈 ** NSTimer ** iOS中最常用的定...

  • GCD计时器

    大家在开发的过程中,经常会用到定时器,通常的做法可能就是NSTimer,了解过GCD的同学可能会接触到dispat...

  • YYTimer源码阅读

    YYTimer是一个基于GCD的线程安全的计时器,它的API和NSTimer类似。有以下几种不同点: 基于GCD,...

  • 使用GCD实现计时器

    使用GCD实现计时器 转载自:https://www.cnblogs.com/lovemargin/p/14576...

  • GCD倒计时器速成

    简单介绍 1、单例类管理GCD计时器;2、类方法调用计时器API,方便快捷;3、提供三组API,快速实现计时、倒计...

  • iOS 单例计时器(页面切换仍然计时)

    iOS 单例计时器(页面切换仍然计时)NSTimer 定时器(2)GCD 多线程(4) //–––––––––––...

网友评论

    本文标题:GCD计时器

    本文链接:https://www.haomeiwen.com/subject/jdokyttx.html