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从之前的函数调用变成了现在的面向对象的调用方式了,更正直观和方便了,以上是我的一些总结,谢谢大家的阅读~

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...