首页 > 其他 > 详细

聊天列表在reloadData时无法成功加载数据

时间:2015-04-03 14:55:17      阅读:223      评论:0      收藏:0      [点我收藏+]

在项目开发的过程中遇到这样一个问题,iPhone6上聊天列表在reloadData时无法成功加载数据,但是只要手指滑动UITableView即可成功加载。

期初被该问题给困惑住了,始终没搞明白是啥问题,后在网上查询资料终找到问题之所在并解决该问题。现将问题的分析及解决方案贴出来:

1、在子线程中无法进行UI的更新,如果表象更新成功那只是一个幻象。因为在子线程中,代码执行完毕后会自动进入主线程,从而执行子线程中UI更新的函数,这个过程是非常快速的,导致大家误以为子线程可以更新UI。如果子线程一直在运行,那么主线程就无法获知子线程中更新UI的函数栈,从而无法更新UI。

2、在一些情况下能够在子线程中更新UI,这是因为在开辟线程时即可获取当前环境,比如点击按钮响应,实质上就是开辟了一个子线程,在这个子线程中能够及时对按钮的UI进行更新(例如换标题、背景等)。

综上所述,对于UI的更新要在主线程中执行。

聊天列表在reloadData时无法成功加载数据

原文:http://www.cnblogs.com/eric-liu/p/4389936.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!