func doCoundDown(btnrengou:BFPaperButton,curtime:Int,cdIndex:Int) {
var timeNum = curtime
//全局队列
let quene:dispatch_queue_t = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
//定时器模式 事件源
let timer:dispatch_source_t = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, quene)
//NSEC_PER_SEC是秒,*1是每秒
dispatch_source_set_timer(timer, dispatch_walltime(nil, 0), NSEC_PER_SEC*1, 0)
//设置响应dispatch源事件的block,在dispatch源指定的队列上运行
dispatch_source_set_event_handler(timer) {
//回调主线程,在主线程中操作UI
if timeNum > 0 {
dispatch_async(dispatch_get_main_queue(), {
let cutimestr = String(format: "%d", timeNum);
//剩余时间(给cell里的label赋值)
btnrengou.setTitle(XCTools().productTimeDown(cutimestr), forState: .Normal)
btnrengou.backgroundColor = KEY_COLOR_Stay
btnrengou.enabled = false
timeNum = timeNum - 1
})
}else {
//关闭事件
dispatch_source_cancel(timer)
dispatch_async(dispatch_get_main_queue(), {
btnrengou.setTitle("立即认购", forState: .Normal)
btnrengou.backgroundColor = KEY_COLOR_NAV
btnrengou.enabled = true
})
}
}
//启动事件源
dispatch_resume(timer)
}