DispatchSource 定时器

var seconds = 90;
let timer : DispatchSourceTimer = DispatchSource.makeTimerSource(flags: [], queue: DispatchQueue.global())
timer.scheduleRepeating(deadline: .now(), interval: .seconds(1)/*, leeway: .milliseconds(100)*/)
timer.setEventHandler {
         seconds -= 1
        if seconds <= 0 {
                  timer.cancel()
                DispatchQueue.main.async {
                          /*更改UI*/
                  }
        }else {
              DispatchQueue.main.async {
               /*更改UI*/
              }
   }
}
timer.resume()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容