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()定时器继续
如上的配合使用,定时器就可以使用了
首先,创建定时器,和之前的有所不同,代码如下:
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()定时器继续
如上的配合使用,定时器就可以使用了
相关文章推荐
- Swift3.0 GCD定时器的使用,实现倒计时,UIDatePicker的使用, 仿写一个活动倒计时的DEMO
- Swift3.0 GCD定时器的使用DEMO
- GCD定时器使用笔记 及 详细分析
- iOS经典讲解之NSTimer、CADisplayLink、GCD三种定时器的使用
- Objective-C三种定时器CADisplayLink / NSTimer / GCD的使用
- iOS GCD定时器的使用
- NSTimer 不准时,使用GCD定时器代替的方法
- GCD定时器的使用
- 怎样使用多媒体定时器
- 第七课 如何在Excel里使用定时器
- 定时器的使用
- linux下定时器的使用
- VC++实现非窗口类中使用定时器的方法
- 在Weblogic中使用定时器(commonj Timer for weblogic server)
- java中使用线程实现Timer(定时器)原理和源码
- js中定时器的使用
- 简易使用MFC中的定时器
- C#定时器的使用
- 用VC 6.0写flash播放器——3、使用定时器
- 编程使用系统热键{定时器SetTimer()和GetAsyncKeyState()}