swift学习笔记 - swift3.0用GCD实现计时器

原创 2016年12月26日 11:01:56

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

50天iOS挑战(Swift) - 第1天:秒表计时器

50天iOS挑战(Swift) - 第一天:秒表计时器
  • b735098742
  • b735098742
  • 2017年06月19日 01:55
  • 913

swift 3.0 计时器Timer 的使用

var playerTimer:Timer! 创建计时器 self.playerTimer = Timer.scheduledTimer(timeInterval: 1, ta...
  • flg1554112450
  • flg1554112450
  • 2017年02月15日 09:20
  • 952

简单的计时器-swift

import UIKit class ViewController: UIViewController { var time = 0 func result(){...
  • shiralwz
  • shiralwz
  • 2016年01月14日 11:38
  • 943

swift gcd 倒计时

//swift gcd写了一个300s 的倒计时   func startTime() {                var timeCount = 300        //创建全局队列    ...
  • mengguihua110
  • mengguihua110
  • 2018年01月18日 14:39
  • 64

iOS开发(Swift)——时间器(Timer)的使用

全局变量的定义:var timer : Timer! 使用:timer=Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: ...
  • liumude123
  • liumude123
  • 2017年01月16日 10:43
  • 6323

从零开始学Swift计时器App开发

这款App的灵感来自于我家厨房的百利达计时器,平时我主要用它来控制烹饪的时间和实践番茄工作法。   它的操作很简单: 点击复位可以对时间清零;点击秒、1分、3分、5分可以不断增加倒计...
  • imxiangzi
  • imxiangzi
  • 2016年01月27日 15:36
  • 823

Swift 定时器的使用--(本人亲测)

在项目里面需要使用到定时器 这里我百度了一下  用法和OC差不多 测试成功,也没多少变化 下面上代码。     // 定时器     private var timer:Tim...
  • onlychengzhi
  • onlychengzhi
  • 2017年03月27日 16:29
  • 440

swift 简单倒计时

swift 原因写的倒计时,可用于接收短信验证码倒计时
  • NoPolun_iOS
  • NoPolun_iOS
  • 2017年01月07日 23:31
  • 1663

swift 3.0 短信验证码倒计时实现

class TCCountDown { private var countdownTimer: Timer? var codeBtn = UIButton() private var remainin...
  • qq_25592881
  • qq_25592881
  • 2017年02月23日 14:53
  • 708

Swift-免费短信验证码实现及动态倒计时

今天给大家带来一个简单的免费短信验证码实现demo,采用mob的短信验证码SDK,到目前为止还是免费的,只需要简单的注册--》添加个人应用--》获取appkey集apSecret 即可实现。 具体怎...
  • yf275908654
  • yf275908654
  • 2016年01月02日 22:51
  • 3658
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:swift学习笔记 - swift3.0用GCD实现计时器
举报原因:
原因补充:

(最多只允许输入30个字)