iOS调用collectionView reloadData不刷新页面

公司用的后台有JAVA和PHP两种,而且JAVA数据清除出来以后还存在有换行符/n和空格等异常情况,使用同一个网络请求框架事,JAVA接口需要设置ResponseSerializerHTTP格式,但PHP接口则不需要。由此出现一个BUG,现请求JAVA接口后,在请求PHP接口后,造成代码崩溃。所以就把JAVA接口使用原生NSURLSession进行请求,在成功block中添加数据源和刷新collectionView列表。但是发现tableView并不会刷新。找了一下原因,因为是在NSURLSession 的block中,进入了异步线程,collectionView必须要在主线程中刷新才会起作用。

dispatch_async(dispatch_get_main_queue(), ^{

[self.collectionView reloadData];

});

在NSURLSession网路请求的block中进行,界面的跳转也一样会出现,跳转不执行的情况。同样要到主线程进行跳转

dispatch_async(dispatch_get_main_queue(), ^{

[weakself.navigationController pushViewController:testVC animated:YES];

});

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

推荐阅读更多精彩内容

  • 218.241.181.202 wxhl60 123456 192.168.10.253 wxhl66 wxhl6...
    CYC666阅读 1,435评论 0 6
  • 1、登录(文本输入、按钮交互、基于网络的交互) 2、刷新界面:(表视图) 1>小部分应用程序数据来源于本地 2>更...
    炙冰阅读 804评论 0 1
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,210评论 30 471
  • 一. 重点: 1.dispatch_queue_create(生成Dispatch Queue) 2.Main D...
    BestJoker阅读 1,597评论 2 2
  • 今天是我们班王宇航小朋友六岁生日,从王奶奶拎着蛋糕走进教室那刻起,小朋友眼巴巴的盯着蛋糕,课也听得走神,不得...
    80后二宝妈阅读 436评论 0 0