您的位置:首页 > 移动开发 > Swift

Swift3.0中GCD定时器的使用

2016-12-23 11:05 399 查看
      swift3.0语法变化之后,好多东西用法都发生了变化,最近要用到定时器,网上搜集了好多写法,最后才搞好,现分享一下,方便以后使用,也希望能帮助别人

首先,创建定时器,和之前的有所不同,代码如下:


 var timer =  DispatchSource.makeTimerSource(flags: [], queue:DispatchQueue.main),即在主线程中创建一个定时器,该种定时器是个DispatchSourceTimer

类型的对象;这样我们就创建了一个基本的定时器,然后设定事件,


 timer.scheduleRepeating(deadline: .now(), interval: .seconds(1) ,leeway:.milliseconds(40))

//该行代码设定开始的时间,间隔的时间,以及剩余持续的时间 40可以设定成你想要的数额,设定即可


        timer.setEventHandler {

 

          //该处设定要执行的事件,比如说要定时器控制的界面的刷新等等,记住,要用主线程刷新,不然会有延迟

                

            }


另外急个函数,看准时机使用,

timer.suspend()//定时器继续执行;

timer.cancel()//定时器取消,会销毁;

timer.activate()/定时器开始激活
timer.resume()定时器继续


如上的配合使用,定时器就可以使用了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gcd 定时器 swift3.0