文档章节

替代NSTimer的block计时器!!

super_co
 super_co
发布于 2015/06/12 16:34
字数 124
阅读 7
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
1
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
23
0
学习设计模式——观察者模式

1. 认识观察者模式 1. 定义:定义对象之间一种一对多的依赖关系,当一个对象状态发生变化时,依赖该对象的其他对象都会得到通知并进行相应的变化。 2. 组织结构: Subject:目标对象类,会被...

江左煤郎
昨天
1
0
emoji

前言:随着iOS系统版本的升级,对原生emoji表情的支持也越来越丰富。emoji表情是unicode码中为表情符号设计的一组编码,当然,还有独立于unicode的另一套编码SBUnicode,在OS系统中,这两种编...

HeroHY
昨天
2
0
rabbitmq学习(二)

生产者消费者初级案列 ChannelUtils package com.hensemlee.rabbitmq;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.Connecti......

hensemlee
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部