dispatch_group_enter(group)同步使用

dispatch_group_enter(group) 简单使用

1.1 创建任务

dispatch_group_t group = dispatch_group_create();
dispatch_queue_t queue = dispatch_get_main_queue();
///MARK:任务一
dispatch_group_enter(group);
///MARK: 网络请求
[WYServiceRequestManageTool GetCommentListWithDid:self.model.ID userid:[[UserCenter defaultCenter] getUId] page:FormatString(@"%ld",(long)currentPage) CompleteSuccessfull:^(id responseObject) {

if (responseObject&&[responseObject[@"code"] integerValue]==2000 ) {

NSArray *dynamics = [WY_DynamicModel mj_objectArrayWithKeyValuesArray:responseObject[@"data"][@"list"]];

[weakSelf.comments  addObjectsFromArray:dynamics];

}

dispatch_group_leave(group);

} failure:^(NSError *error, NSDictionary *errorInfor) {

dispatch_group_leave(group);

}];
///MARK: 任务2
dispatch_group_enter(group);
///MARK: 网络请求
self.dynamicDataSocre= [WYDymamicDetailModel mj_objectArrayWithKeyValuesArray:@[@{@"CellType":@2,@"lists":@[weakSelf.model]},@{@"title":@"全部评论",@"lists":weakSelf.comments}]];

dispatch_group_leave(group);

///刷新列表
dispatch_group_notify(group, queue, ^{

[self.dynamicListView reloadData];

[self.dynamicListView.mj_footer endRefreshing];

[self.dynamicListView.mj_header endRefreshing];

});

1.2 代码截图

[代码截图]
2789393-6c340008299eea37.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 2017-07-28iOS开发 导语:在iOS中,多线程方案有四种:pthread、NSThread、NSOper...
    C9090阅读 409评论 0 1
  • 我的上篇文章iOS中多个网络请求的同步问题总结中用到了dispatch_group来进行线程同步,对用法不是特别熟...
    liang1991阅读 60,504评论 68 151
  • 同步/异步 同步:多个任务情况下,一个任务A执行结束,才可以执行另一个任务B。只存在一个线程也就是主线程。 异步:...
    XLsn0w阅读 309评论 0 0
  • NSThread 第一种:通过NSThread的对象方法 NSThread *thread = [[NSThrea...
    攻城狮GG阅读 853评论 0 3
  • 近一年在疯狂的后悔着 因为无能,开始抱怨 人可以反省,痛苦的自省 但抱怨和后悔是绝对不行 会让你更懦弱 为过去的自...
    __YukiMakino阅读 168评论 0 0