UITableView判断reloadData结束(iOS)

原创 2015年09月18日 23:46:45

如果在reloadDate后需要立即获取tableview的cell、高度,或者需要滚动tableview,那么,直接在reloadData后执行代码是有可能出问题的。

reloadDate并不会等待tableview更新结束后才返回,而是立即返回,然后去计算表高度,获取cell等。

如果表中的数据非常大,在一个run loop周期没执行完,这时,需要tableview视图数据的操作就会出问题了。


apple并没有直接提供reloadData的api,想要程序延迟到reloadData结束在操作,可以用以下方法


方法1:

[self.tableView reloadData];
[self.tableView layoutIfNeeded];
//刷新完成


layoutIfNeeded会强制重绘并等待完成。


方法2:

[self.tableView reloadData];
dispatch_async(dispatch_get_main_queue(), ^{
    //刷新完成
});

reloadDate会在主队列执行,而dispatch_get_main_queue会等待机会,直到主队列空闲才执行。



版权声明:本文为博主原创文章,未经博主允许不得转载。博主微信:lofocus

相关文章推荐

判断UitableView reloadData 结束的方法

在开发过程中会有一些特殊处理的情况,最近开发就遇到了这样的问题,需要reloadData执行完了,才可以执行一些操作, 方法1: 是同步方法layoutIfNeeded会强制重绘并等待完成: [...

如何在UITableView reloadData结束后再进行下一步操作

最近在做一个小需求的时候碰了壁,具体情景是:点击一个talbeview的headerview会展开该section下面的cell,需求是要先reload原有的数据,再将新的cell以insert的方式...

解决CollectionView reloadData或者reloadSections时的刷新的闪烁问题

[UIView performWithoutAnimation:^{ [self.collectionView reloadSections:[NSIndex...

UITableView——reloadData与reloadSection性能比较

周五上午,测试,有个很奇怪的bug:每次reset模拟器后,第一次进入个人资料界面,首诊记录数据展示不对,第二次进入数据展示都是正确的。这个患者其实有首诊记录,但当时查看代码很久,一直没找到问题所在。...

tableview的reloadData应注意

tableview的reloadData应注意 分类: iphone开发2011-11-25 15:54 1054人阅读 评论(0) 收藏 举报 UITableView reloa...

UITableView判断reloadData结束(iOS)

如果在reloadDate后需要立即获取tableview的cell、高度,或者需要滚动tableview,那么,直接在reloadData后执行代码是有可能出问题的。 reloadDate并不...

UITableView reloadData的正确方法

相信很多人会遇到这种情况,当tableView正在滚动的时候,如果reloadData,偶尔发生App crash的情况。 这种情况有时候有,有时候没有,已经难倒了很多人。直至今天,我在stack...

UITableView使用reloadData的几种动画方法

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...

关于UITableView reloadData时发生App crash的情况

UITableView reloadData的正确方法。    相信很多人会遇到这种情况,当tableView正在滚动的时候,如果reloadData,偶尔发生App crash的情况。 这种情...

UITableView reloadData的正确方法

相信很多人会遇到这种情况,当tableView正在滚动的时候,如果reloadData,偶尔发生App crash的情况。 这种情况有时候有,有时候没有,已经难倒了很多人。直至今天,我在stackov...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)