GCD -- 倒计时
2016-03-28 15:36
267 查看
__block int timeout = 59; // 倒计时时间 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(), ^{ // 设置界面的按钮显示 根据自己需求设置 NSLog(@"倒计时结束"); }); }else{ // int minutes = timeout / 60; int seconds = timeout % 60; NSString *strTime = [NSString stringWithFormat:@"%.2d", seconds]; dispatch_async(dispatch_get_main_queue(), ^{ //设置界面的按钮显示 根据自己需求设置 NSLog(@"%@", strTime); }); timeout--; } }); dispatch_resume(_timer);
相关文章推荐
- python运行时间计算之timeit
- Spring学习笔记 什么是AOP
- 关于定时器或计数器的初值计算
- arm-linux交叉编译之lua
- 平台安装时写入注册表的打包方法
- 替换或者删除Android 4.0的app
- Android中scrollview在Activity初始化过程中, 要指定滚动条位置
- 状态模式(State)
- hdu 3038(种类并查集)
- Spring Task定时任务
- Mongodb C++ Deamon 及API说明
- lubuntu操作及桌面配置(3)
- 树莓派跑OPC2BACnet的评估
- python爬虫学习--pixiv爬虫(1)--p站爬虫的登录
- 易景地球如何加载google等在线地图数据
- R中的一些数据形式
- 阿里实习offer五面经验与总结
- 手写CollectionView并调整布局
- centos6.5上搭建git2.3.0服务器
- 归并排序-迭代法与递归法