博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS验证码倒计时(GCD实现)
阅读量:5972 次
发布时间:2019-06-19

本文共 1146 字,大约阅读时间需要 3 分钟。

+ (void)verificationCode:(void(^)())blockYes blockNo:(void(^)(id time))blockNo {    __block int timeout=60; //倒计时时间    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_async(dispatch_get_main_queue(), ^{                //设置界面的按钮显示 根据自己需求设置                blockYes();            });        }else{            //            int minutes = timeout / 60;            int seconds = timeout % 60;            NSString *strTime = [NSString stringWithFormat:@"%.2d", seconds];            dispatch_async(dispatch_get_main_queue(), ^{                //设置界面的按钮显示 根据自己需求设置                NSLog(@"____%@",strTime);                blockNo(strTime);                            });            timeout--;        }    });    dispatch_resume(_timer);}

 

转载于:https://www.cnblogs.com/hxwj/p/4528550.html

你可能感兴趣的文章
Exadata VM CELL 上添加新磁盘--扩充空间
查看>>
zabbix企业应用之监控mysql 5.6版本
查看>>
我的友情链接
查看>>
BGP选路原则与专有命令的研究
查看>>
关于java的引用、C++的指针、引用的深入分析
查看>>
windows cmd 下的主要命令
查看>>
CMD 修改Host文件 BAT
查看>>
linux用户管理的命令及手动添加用户
查看>>
Windows 7 家庭版如何启用Administrator账户
查看>>
JSP开发过程遇到的中文乱码问题及解决方案
查看>>
我的友情链接
查看>>
mfs权威指南
查看>>
只是你没那么重要罢了
查看>>
javabean的初步认识学习
查看>>
表结构设计的第一二三范式
查看>>
1.4.2.2 在Linux上设置环境变量
查看>>
SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)【转】
查看>>
自建框架知识点二路由器
查看>>
springBoot(16):集成redis
查看>>
我的友情链接
查看>>