swift学习笔记 - swift3.0用GCD实现计时器
Posted W_C__L
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift学习笔记 - swift3.0用GCD实现计时器相关的知识,希望对你有一定的参考价值。
swift3.0之后,GCD的语法发生了翻天覆地的变化,从过去的c语法变成了点语法,下面是变化之后用GCD实现计时器的方法:
先贴代码:
// 定义需要计时的时间
var timeCount = 60
// 在global线程里创建一个时间源
let codeTimer = DispatchSource.makeTimerSource(queue: DispatchQueue.global())
// 设定这个时间源是每秒循环一次,立即开始
codeTimer.scheduleRepeating(deadline: .now(), interval: .seconds(1))
// 设定时间源的触发事件
codeTimer.setEventHandler(handler:
// 每秒计时一次
timeCount = timeCount - 1
// 时间到了取消时间源
if timeCount <= 0
codeTimer.cancel()
// 返回主线程处理一些事件,更新UI等等
DispatchQueue.main.async
)
// 启动时间源
codeTimer.resume()
发现改完后的GCD从之前的函数调用变成了现在的面向对象的调用方式了,更正直观和方便了,以上是我的一些总结,谢谢大家的阅读~
以上是关于swift学习笔记 - swift3.0用GCD实现计时器的主要内容,如果未能解决你的问题,请参考以下文章