iOS dispatch group dispatch_group_notify 多线程等待 多个数据请求处理 异步请求

来源:互联网 发布:邮箱注册淘宝个人账号 编辑:程序博客网 时间:2024/06/07 07:36

//经常有需求需要几个数据请求,然后在数据请求结束之后统一处理,这时候就用到了dispatch group 

- (void)loadData{

dispatch_queue_t queue =dispatch_get_global_queue(0,0);

    group =dispatch_group_create();

    

    //

    [MBProgressHUDshowBlackHudTo:WINDOW];

    dispatch_group_enter(group);

    dispatch_group_async(group, queue, ^{

        [selfqueryShareData];

    });

    

    dispatch_group_enter(group);

    dispatch_group_async(group, queue, ^{

        [self initData];

    });

    

    dispatch_group_notify(group,dispatch_get_main_queue(), ^{

        

        [self updateUI:_model];

        

        [MBProgressHUDhideHUDForView:WINDOWanimated:YES];

    });

   

}



//获取提现的数据

- (void)initData {

    __weak typeof(self)weakSelf =self;

    [API2 getWithDrawhandler:^(NSDictionary *dict,NSError *error) {

        if (error) {

          

        } else{


        }

        dispatch_group_leave(group);

    }];

}



- (void)queryShareData {

    __weak typeof(self)weakSelf =self;

    [API2 getRedbagShare:^(NSDictionary *dict,NSError *error) {

        if (error != nil) {

           

        }else{

            

        }

        dispatch_group_leave(group);

    }];

}