文档章节

替代NSTimer的block计时器!!

super_co
 super_co
发布于 2015/06/12 16:34
字数 124
阅读 8
收藏 1

话不多说上代码:LIST


-(void)startTime{

    timeout_int=0;

    dispatch_queue_t queue_global =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

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

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

    dispatch_source_set_event_handler(_timer, ^{

        __weak ViewController *weakself =self ;

        if(timeout_int>10){ //倒计时结束,关闭

            dispatch_source_cancel(_timer);

            dispatch_async(dispatch_get_main_queue(), ^{

               weakself.numberLabel.text = @"结束";

            });

        }else{

            //            int minutes = timeout_int / 60;

            int seconds = timeout_int % 61;

            NSString *strTime = [NSString stringWithFormat:@"%.2d", seconds];

           dispatch_async(dispatch_get_main_queue(), ^{

                //设置界面的按钮显示

                weakself.numberLabel.text = strTime;

            });

            timeout_int++;

              }

    });

    dispatch_resume(_timer);

}



© 著作权归作者所有

共有 人打赏支持
super_co
粉丝 1
博文 10
码字总数 7205
作品 1
东城
高级程序员
私信 提问
iOS查看屏幕帧数工具--YYFPSLabel

学习 YYKit 代码时,发现 ibireme 在项目里加入的一个查看当前屏幕帧数的小工具,效果如下: 挺实用,实现方法也很简单,但是思路特别棒。 这里是Demo: YYFPSLabel 这里我把这个小工具从 中...

yehot
2016/04/05
0
0
使用NSTimer出现的问题

使用NSTimer出现的问题 ***去年封的一个图片轮播的, 这两天在忙着给重新封装一下, 增加更多的方法, 有更多个性化的设置, 增加了网络请求图片的轮播. 重新封装, 这个过程还算顺利, 但是到计时...

hell03W
2016/03/24
28
0
图片自动滚动器

PageControl 在storyboard的scrollView中添加后,在代码中给scrollView中添加图片,会将pageControl覆盖掉,看不到了。 添加计时器: [NSTimer scheduledTimerWithTimeInterval:2.0 target:s...

马尔代夫的沙滩
2016/04/30
58
0
iOS开发中NSTimer的开启与关闭

调用一次计时器的方法: myTime = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scrollTimer) userInfo:nil repeats:NO]; //不重复,只调用一次。timer运行......

刘三火
2016/05/22
155
0
SwiftyTimer

SwiftyTimer 是一组扩展,可以使 API 更加清晰易用,亲近 Swift 语法。 使用示例: 使用 NSTimer.every 和 NSTimer.after,可轻松地安排重复和不重复计时器(重复和延时): NSTimer.every(...

sikkx
2015/05/29
164
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(11.9)hive操作基础知识

上一篇博客分享了hive的简介和初体验,本节博主将继续分享一些hive的操作的基础知识。 DDL操作 (1)创建表 #建表语法CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name ...

em_aaron
今天
2
0
OSChina 周四乱弹 —— 我家猫真会后空翻

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @我没有抓狂 :#今天听这个# 我艇牛逼,百听不厌,太好听辣 分享 Led Zeppelin 的歌曲《Stairway To Heaven》 《Stairway To Heaven》- Led Z...

小小编辑
今天
2
0
node调用dll

先安装python2.7 安装node-gyp cnpm install node-gyp -g 新建一个Electron-vue项目(案例用Electron-vue) vue init simulatedgreg/electron-vue my-project 安装electron-rebuild cnpm ins......

Chason-洪
今天
3
0
scala学习(一)

学习Spark之前需要学习Scala。 参考学习的书籍:快学Scala

柠檬果过
今天
3
0
通俗易懂解释网络工程中的技术,如STP,HSRP等

导读 在面试时,比如被问到HSRP的主备切换时间时多久,STP几个状态的停留时间,自己知道有这些东西,但在工作中不会经常用到,就老是记不住,觉得可能还是自己基础不够牢固,知识掌握不够全面...

问题终结者
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部