使用deleteRowsAtIndexPaths
从表格中删除行后,我收到了NSInternalInconsistencyException
,其中包含以下文字:
无效更新:无效的部分数量。部分的数量 更新后的表视图中包含的(1)必须等于 更新前的表视图中包含的节数(1), 加或减插入或删除的部分数量(0插入, 1删除)。
例外是指删除了部分的数量,但deleteRowsAtIndexPaths
方法应该删除行。据我所知,部分的数量应该不受影响。怎么会发生这种情况?什么可能导致表认为我想删除行?
导致错误的完整代码行是:
[self.contentTable
deleteRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForItem:index inSection:0]]
withRowAnimation:UITableViewRowAnimationMiddle];
答案 0 :(得分:0)
我确实设法解决了这个问题。原来混淆的原因是一条无用的错误信息。
我的错误是我试图删除错误的行(我的表中有14行,我试图删除行2147483647 - 并非巧合,这是NSNotFound的值)。显然,尝试删除此行会产生有关表中节数的异常消息。