Swift3.0中GCD定时器的使用

本文介绍了Swift3.0中GCD定时器的创建和使用方法。通过DispatchSource.makeTimerSource在主线程创建定时器,并设置调度、事件及延迟参数。定时器的启动、暂停、恢复和取消可通过特定方法控制,确保界面刷新的及时性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      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()定时器继续

如上的配合使用,定时器就可以使用了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值