您的位置:首页 > 其它

使用GCD实现倒计时

2015-12-07 13:59 218 查看
__blockNSInteger timeout =
300;
dispatch_queue_t queue =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);
dispatch_source_t _timer =dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER,0,
0, queue);
dispatch_source_set_timer(_timer,dispatch_walltime(NULL,0),
1.0*SEC_PER_MSEC,0);//每秒执行
dispatch_source_set_event_handler(_timer, ^{
if (timeout <=0) {
dispatch_source_cancel(_timer);
//dispatch_release(_timer);
dispatch_async(dispatch_get_main_queue(), ^{

//设置界面的按钮显示
});
}
else
{
NSInteger minutes = timeout/60;
NSInteger seconds = timeout%60;
NSString *strTime = [NSStringstringWithFormat:@"%d分%d秒后重新获取验证码",minutes,seconds];
dispatch_async(dispatch_get_main_queue(), ^{

//设置界面的按钮显示
});
timeout--;
}
});
dispatch_resume(_timer);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: