Method 1: Use Nstimer to implement
The main use of the Nstimer Scheduledtimerwithtimeinterval method to perform a timefiremethod function every 1 seconds, timefiremethod the countdown of some operations, When finished, the timer is invalidate off, the code is as follows:
1Secondscountdown = -;//60 Seconds Countdown2Countdowntimer = [Nstimer scheduledtimerwithtimeinterval:1target:self selector: @selector (Timefiremethod) Userinfo:nil Repeats:yes];3-(void) timefiremethod{4secondscountdown--;5 if(secondscountdown==0){6 [Countdowntimer invalidate];7 }8}
Method 2: Use GCD to implement
The code is as follows:
1__blockinttimeout= -;//Countdown Time2dispatch_queue_t queue = Dispatch_get_global_queue (Dispatch_queue_priority_default,0);3dispatch_source_t _timer = dispatch_source_create (Dispatch_source_type_timer,0,0, queue);4Dispatch_source_set_timer (_timer,dispatch_walltime (NULL,0),1.0*nsec_per_sec,0);//executes per second5Dispatch_source_set_event_handler (_timer, ^{6 if(timeout<=0){//countdown end, close7 Dispatch_source_cancel (_timer);8 dispatch_release (_timer);9Dispatch_async (Dispatch_get_main_queue (), ^{Ten //set the interface button to display the settings according to your needs One ..... A }); -}Else{ - intminutes = Timeout/ -; the intseconds = Timeout% -; -NSString *strtime = [NSString stringWithFormat:@"%d minutes%.2d seconds to regain verification code", minutes, seconds]; -Dispatch_async (Dispatch_get_main_queue (), ^{ - //set the interface button to display the settings according to your needs + ..... - }); +timeout--; A at } - }); -Dispatch_resume (_timer);
Two ways to implement the "IOS" Countdown