0

我为删除按钮编写了以下代码,以从 UITableView 中删除选定的行。

-(IBAction)deleteItems:(id)sender {

 NSArray *selectedCells = [self.autoCompleteView indexPathsForSelectedRows];
NSMutableIndexSet *indicesToDelete = [[NSMutableIndexSet alloc] init];
for (NSIndexPath *indexPath in selectedCells) {
    [indicesToDelete addIndex:indexPath.row];
}
//arrayFromPlist is NSMutableArray
[autoCompleteView beginUpdates];
[autoCompleteView deleteRowsAtIndexPaths:selectedCells withRowAnimation:UITableViewRowAnimationAutomatic];
[autoCompleteView endUpdates];
[selectedObjects removeObjectsAtIndexes:indicesToDelete];
[autoCompleteView reloadData];

[alertMsg deleteConfirmation:@"Do you want to delete these items?"];

}

请检查我的 UITableView 和删除按钮的图像。我在情节提要中将 UITableview 的 Editing 属性保留为“编辑期间的多项选择”。

在此处输入图像描述

当我按下屏幕上显示的删除按钮时,我收到以下错误。

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效更新:第 0 节中的行数无效。更新 (5) 后现有节中包含的行数必须等于该节中包含的行数更新前的节 (5),加上或减去从该节插入或删除的行数(0 插入,2 删除),加上或减去移入或移出该节的行数(0 移入,0 移动出去)。'

不知道我在删除按钮代码中的错误是什么。

4

1 回答 1

1

一个明确的问题是您在从模型中删除相应数据之前删除了单元格。那是错误的。始终先更改模型;然后以与模型匹配的方式更改单元格。

于 2015-11-04T03:45:04.297 回答