美文网首页
Swift3.0之后GCD定时器如何创建

Swift3.0之后GCD定时器如何创建

作者: 卷刃 | 来源:发表于2017-03-10 18:06 被阅读107次

Swift3.0很多语法都有变化,GCD的定时器也发生了变化

1.首先,创建定时器,和之前的有所不同,代码如下:

  self.timer =  DispatchSource.makeTimerSource(flags: [], queue:DispatchQueue.main)

即在主线程中创建一个定时器,timer是个DispatchSourceTimer类型,注意在控制器中强引用。

2.设定定时器的基本参数

  self.timer?.scheduleRepeating(deadline: .now(), interval: DispatchTimeInterval.milliseconds(20), leeway: DispatchTimeInterval.milliseconds(2000))

该行代码设定开始的时间,间隔的时间,以及剩余持续的时间

3.设定定时器的事件

  self.timer.setEventHandler {
    //Do something
  }```
>  该处设定要执行的事件

**4.开启你的定时器**
```swift
  self.timer.resume()

或者

  self.timer.activate()

补充

  • GCD所开启的定时器是不受Runloop模式影响的。

相关文章

  • Swift3.0之后GCD定时器如何创建

    Swift3.0很多语法都有变化,GCD的定时器也发生了变化 1.首先,创建定时器,和之前的有所不同,代码如下: ...

  • tableView或者scrollView滑动时 定时器 不响应

    先写解决办法 1. 2. 使用GCD创建定时器。GCD创建定时器不收Runloop的影响,并且GCD的定时器更精准...

  • GCD中的定时器(五)

    一. GCD中定时器的使用方法 创建一个队列 创建一个GCD的定时器 设置定时器的开始时间,间隔时间以及精准度 设...

  • GCD定时器

    创建GCD定时器 注意:默认创建的定时器对象需要强引用保住它的命,在任务执行中不被释放 定时器操作函数 dispa...

  • GCD定时器的实现

    GCD定时器 GCD定时器不受RunLoop约束,比NSTimer更加准时 证明,实现GCD定时器

  • GCD进入后台继续运行

    iOS GCD创建标准定时器,进入后台后任可继续定时

  • iOS - GCD中的定时器

    GCD定时器优点:① GCD定时器不受RunLoop约束② 比NSTimer更加准时。 GCD定时器用法敲 dis...

  • GCD定时器

    GCD定时器 GCD定时器不受RunLoop的影响,调用频率比较固定

  • GCD定时器使用

    iOS中的常用定时器分为这几类: NSTimer CADisplayLink GCD定时器 选择GCD定时器原因:...

  • swift中GCD的使用详情

    想看swift3.0使用GCD,请点击GCD详解 想看swift3.0闭包的使用和介绍,请点击Swift版闭包使用...

网友评论

      本文标题:Swift3.0之后GCD定时器如何创建

      本文链接:https://www.haomeiwen.com/subject/nplogttx.html