Since Nstimer is prone to memory leaks, bring a surprise to the fledgling small program staff!
Words not much to say on the code:
LIST
-(void) starttime{timeout_int=0;dispatch_queue_tQueue_global =dispatch_get_global_queue (Dispatch_queue_priority_default,0); dispatch_source_t _timer = dispatch_source_create (Dispatch_source_type_timer,0,0, Queue_global); Dispatch_source_set_timer (_timer,dispatch_walltime (NULL,0),1.0*nsec_per_sec,0); Dispatch_source_set_event_handler (_timer, ^{__WeakViewcontroller *weakself = Self;if(timeout_int>Ten){//Countdown end, closeDispatch_source_cancel (_timer);Dispatch_async(Dispatch_get_main_queue (), ^{weakself. Numberlabel. Text= @"End"; }); }Else{//int minutes = TIMEOUT_INT/60; intseconds = timeout_int% A;NSString*strtime = [NSStringstringwithformat:@"%.2d", seconds];Dispatch_async(Dispatch_get_main_queue (), ^{//Set the button display of the interfaceWeakself. Numberlabel. Text= Strtime; }); timeout_int++; } }); Dispatch_resume (_timer);}
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Replace Nstimer's block Timer!!!