将单元格插入到uitableview的顶部会导致问题

时间:2013-04-21 05:54:27

标签: ios objective-c uitableview

这让我疯了,我的UITableView中有部分,但是当我没有部分时,这个插入就有用了。

基本上我在做:

[self.tableView insertRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationRight];

我收到了这个错误:

  

更新后的表视图中包含的节数(5)必须等于更新前的表视图中包含的节数(4),加上或减去插入或删除的节数(0)插入,0删除)。'

我认为它会起作用,但这没有意义。你们能做些什么呢?

2 个答案:

答案 0 :(得分:1)

在发送numberOfSectionsInTableView:方法之前和之后,您将从insertRowsAtIndexPaths:withRowAnimation:方法返回不同的值。

如果要在表视图中创建一个全新的部分,则必须通过向表视图发送insertSections:withRowAnimation:消息来插入它。

答案 1 :(得分:1)

每当您进行insertRowsAtIndexPaths:withRowAnimation调用时,您还需要使用类似的添加来修改支持表的数据源。这可确保tableView:numberOfRowsInSection:在添加之前返回n并在添加之后返回n+1。除了一致的结果之外的任何东西抛出你描述的错误。