Swift3.0中GCD定时器的使用
2017-05-13 本文已影响0人
mars2022
//设定定时时间为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()