倒计时
if (_timer) {
dispatch_source_cancel(_timer);
}
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
_timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);dispatch_source_set_event_handler(_timer, ^{
NSCalendar *calendar = [NSCalendar currentCalendar]; NSDate *fireDate = [NSDate dateWithTimeIntervalSinceNow:_timeInterval]; NSDate *today = [NSDate date]; unsigned int unitFlag = NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond; /** !计算时差*/ NSDateComponents *d = [calendar components:unitFlag fromDate:today toDate:fireDate options:0]; if ([d hour] <= 0 && [d minute] <= 0 && [d second] <= 0) { dispatch_async(dispatch_get_main_queue(), ^{ //todo 倒计时结束 }); if (_timer) { dispatch_source_cancel(_timer); } }else{ _timeInterval --; NSString *time = [NSString stringWithFormat:@"%.2li小时%.2li分%.2li秒",(long)[d hour],(long)[d minute],(long)[d second]]; dispatch_async(dispatch_get_main_queue(), ^{ //todo 正在计时 }); }});
dispatch_resume(_timer);

06-19

被折叠的 条评论
为什么被折叠?



