0

使用deleteRowsAtIndexPaths从表中删除一行后,我收到NSInternalInconsistencyException了以下文本:

无效更新:无效的节数。更新后表视图中包含的节数(1)必须等于更新前表视图中包含的节数(1),加上或减去插入或删除的节数(0插入,1已删除)。

例外是指删除的数,但该deleteRowsAtIndexPaths方法应该删除。据我所知,部分的数量应该不受影响。这怎么可能发生?什么可能导致表认为我要删除行?

导致错误的完整代码行是:

[self.contentTable
 deleteRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForItem:index inSection:0]]
 withRowAnimation:UITableViewRowAnimationMiddle];
4

1 回答 1

0

我确实设法解决了这个问题。事实证明,造成混乱的原因是一条无用的错误消息。

我的错误是我试图删除错误的行(我的表中有 14 行,我试图删除第 2147483647 行 - 并非巧合,这是 NSNotFound 的值)。显然,尝试删除此行会产生有关表中部分数量的异常消息。

于 2013-01-10T15:21:14.360 回答