[tableView reloadData]
会影响ios的性能吗?什么是[tableView reloadData]
?它是如何重新加载tableview的?还有其他方法可以重新加载tableview吗?
我想在tableview的末尾添加一些行。我怎么能这样做?
之间有什么区别
[self.tableView reloadData]
和
[self.tableView beginUpdates];
[self.tableView insertRowsAtIndexPaths:insertIndexPathswithRowAnimation:UITableViewRowAnimationAutomatic];
[self.tableView endUpdates];
答案 0 :(得分:4)
reloadData就是这样 - 完整更新表视图的(可见部分)。
如果您只需更新某些单元格,即更新,插入,删除或移动,请改用相应的更新方法。这甚至可以激活变化。
答案 1 :(得分:1)
AFAIK,[self.tableView reloadData]更多用于如果您的数据已完全更改并且您想显示最新版本(或者过滤器已更改等等)
即。想象一下,你有一张展示足球运动员的桌子,你可以“轻拂开关”来展示来自不同球队的足球运动员。在这种情况下,您倾向于使用reloadData。然后,这将刷新整个表格。
[self.tableView beginUpdates];
[self.tableView insertRowsAtIndexPaths:insertIndexPathswithRowAnimation:UITableViewRowAnimationAutomatic];
[self.tableView endUpdates];
用于将新数据添加到显示的当前数据集中。这不会刷新整个,但会将新行设置为当前表的动画。
答案 2 :(得分:1)
如果要重新加载一个部分或几行,还有一些方法可以执行此操作。
对于行:
[self.tableView reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation];
对于部分:
[self.tableView reloadSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation];