加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Swift开发之 ---- Swift4.0 GCD实现计时器

(2017-11-29 20:41:13)
标签:

swfit

ios开发

分类: Swfit

// 定义需要计时的时间

        var timeCount = 60

        // 在global线程里创建一个时间源

        let codeTimer = DispatchSource.makeTimerSource(queue:      DispatchQueue.global())

        // 设定这个时间源是每秒循环一次,立即开始

        codeTimer.schedule(deadline: .now(), repeating: .seconds(1))

        // 设定时间源的触发事件

        codeTimer.setEventHandler(handler: {

            // 每秒计时一次

            timeCount = timeCount - 1

            // 时间到了取消时间源

            if timeCount <= 0 {

                codeTimer.cancel()

            }

            // 返回主线程处理一些事件,更新UI等等

            DispatchQueue.main.async {

            }

        })

        // 启动时间源

        codeTimer.resume()

        

//        codeTimer.suspend()//定时器暂停;

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

//        codeTimer.activate()//定时器开始激活  此方法需要在 iOS10以上才有

//        codeTimer.resume()//定时器继续

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有