zoukankan      html  css  js  c++  java
  • GCD倒计时

    @property(nonatomic,retain) dispatch_source_t timer;

    __block int timeout = 5; //倒计时时间 自定义

        __weak __typeof(&*self)weakself = self;  //防止引用,先弱下

        if (timeout!=0) {

            //GCD定时器

            dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

            _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); //每1秒执行

            dispatch_source_set_event_handler(_timer, ^{

                if(timeout<=0){ //倒计时结束,关闭

                    dispatch_source_cancel(_timer);

                    _timer = nil;

                    dispatch_async(dispatch_get_main_queue(), ^{

                        NSLog(@"倒计时结束操作");

                    });

                }else{

                    dispatch_async(dispatch_get_main_queue(), ^{

                      NSLog(@"这里显示倒计时时间==%d",timeout);

                    });

                    timeout--;

                }

                

            });

            dispatch_resume(_timer);

            

        }

    //退出页面

        dispatch_source_cancel(_timer);

  • 相关阅读:
    centos下网络的基本配置方法讲解
    win8.1环境下硬盘安装centos6.5双系统
    新人出世
    Docker 仓库管理
    Docker Dockerfile
    Docker image创建之Hello world
    ASP.Net Core 发布到 Centos Docker
    C# 人工智能
    C#使用ML.Net完成人工智能预测
    无监督和有监督算法的区别
  • 原文地址:https://www.cnblogs.com/liaolijun/p/7772378.html
Copyright © 2011-2022 走看看