1. 程式人生 > >iOS dispatch group dispatch_group_notify 多執行緒等待 多個數據請求處理 非同步請求

iOS dispatch group dispatch_group_notify 多執行緒等待 多個數據請求處理 非同步請求

//經常有需求需要幾個資料請求,然後在資料請求結束之後統一處理,這時候就用到了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);

    }];

}