iOS 之Objective-C倒计时

 __block int timeout=59; //倒计时时间
    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(aSelf.timer,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0); //每秒执行
    dispatch_source_set_event_handler(aSelf.timer, ^{
        if(timeout<=0){ //倒计时结束,关闭
            dispatch_source_cancel(aSelf.timer);
            aSelf.timer = nil;
            dispatch_async(dispatch_get_main_queue(), ^{
                //设置界面的按钮显示 根据自己需求设置
            });
        }else{
            //            int minutes = timeout / 60;
            int seconds = timeout {5351c8a62f918c9a2549d9888258dfab50bc32b8c1160430abfd6b919b9dbb4d} 60;
            NSString *strTime = [NSString stringWithFormat:@"{5351c8a62f918c9a2549d9888258dfab50bc32b8c1160430abfd6b919b9dbb4d}.2d", seconds];
            dispatch_async(dispatch_get_main_queue(), ^{
                //设置界面的按钮显示 根据自己需求设置
            });
            timeout--;
        }
    });
    dispatch_resume(aSelf.timer);

说点什么

avatar
  Subscribe  
提醒