标签:style blog color os io 使用 ar for div
主要使用的是NSTimer的scheduledTimerWithTimeInterval方法来每1秒执行一次timeFireMethod函数,timeFireMethod进行倒计时的一些操作,完成时把timer给invalidate掉就ok了,代码如下:
1 secondsCountDown = 60;//60秒倒计时 2 countDownTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeFireMethod) userInfo:nil repeats:YES]; 3 -(void)timeFireMethod{ 4 secondsCountDown--; 5 if(secondsCountDown==0){ 6 [countDownTimer invalidate]; 7 } 8 }
代码如下:
1 __block int timeout=300; //倒计时时间 2 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); 3 dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue); 4 dispatch_source_set_timer(_timer,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0); //每秒执行 5 dispatch_source_set_event_handler(_timer, ^{ 6 if(timeout<=0){ //倒计时结束,关闭 7 dispatch_source_cancel(_timer); 8 dispatch_release(_timer); 9 dispatch_async(dispatch_get_main_queue(), ^{ 10 //设置界面的按钮显示 根据自己需求设置 11 。。。。。。。。 12 }); 13 }else{ 14 int minutes = timeout / 60; 15 int seconds = timeout % 60; 16 NSString *strTime = [NSString stringWithFormat:@"%d分%.2d秒后重新获取验证码",minutes, seconds]; 17 dispatch_async(dispatch_get_main_queue(), ^{ 18 //设置界面的按钮显示 根据自己需求设置 19 。。。。。。。。 20 }); 21 timeout--; 22 23 } 24 }); 25 dispatch_resume(_timer);
标签:style blog color os io 使用 ar for div
原文地址:http://www.cnblogs.com/DannyApple/p/3948522.html