Swift3.0中GCD定时器的使用

//设定定时时间为10s
var countTime =10 
// 在global线程里创建一个时间源
let codeTimer = DispatchSource.makeTimerSource(queue:DispatchQueue.global())
// 设定这个时间源是每0.5秒循环一次,立即开始
codeTimer.scheduleRepeating(deadline: .now(), interval: .milliseconds(500))
// 设定时间源的触发事件
codeTimer.setEventHandler(handler: {
    // 每半秒计时一次
    countTime = countTime-0.5
    // 时间到了取消时间源
    if countTime <= 0{
        codeTimer.cancel()
    }
    // 返回主线程处理一些事件,更新UI等等
    DispatchQueue.main.async {
        }                       
})
//启动定时器
codeTime.activate() 

你可能感兴趣的:(Swift3.0中GCD定时器的使用)