var seconds = 10
let timer = DispatchSource.makeTimerSource(flags: [], queue: DispatchQueue.global())
/*
dealine: 开始执行时间
repeating: 重复时间间隔
leeway: 时间精度
*/
timer.schedule(deadline: .now(), repeating: 1.0 , leeway: .nanoseconds(0))
timer.setEventHandler {seconds -= 1if seconds < 0 {timer.cancel()}else{print(seconds)}
}
timer.resume()