如何在没有reloadData的情况下使用insertRowsAtIndexPaths IOS

时间:2012-12-27 20:20:07

标签: ios uitableview

我不理解insertRowsAtIndexPaths使用。我需要为这项工作制作reloadData我的桌面视图吗?

如果没有重新加载数据,应用程序就会崩溃。

2 个答案:

答案 0 :(得分:5)

应用程序崩溃,因为在insertRows调用之前和之后数据源不一致。

作为示例,如果要插入一个新行,则需要在tableView:numberOfRowsInSection:中再返回1行,而不是插入调用之前。

以下是演示

的示例
self.numberOfRows = self.numberOfRows + 1;
[self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:0 inSection:0]] withRowAnimation:UITableViewRowAnimationAutomatic]; 

答案 1 :(得分:0)

取决于您正在做什么,但简而言之,是的,您需要重新加载或更新数据源。请记住,iOS只会更新屏幕上显示的数据,因此如果您正在处理巨大的网格,它将不会减慢或杀死您的应用程序。