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

2017-03-10  本文已影响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模式影响的。
上一篇 下一篇

猜你喜欢

热点阅读