欢迎!我整个上午都在做这个,但没有香蕉;也许你有洞察力!
我正在使用标准NSMutableArray
:
self.itemTable = [[NSMutableArray alloc]
initWithObjects:@"House.",
@"Car.",
@"Keys.", nil];
现在,当我在导航栏中按“编辑”并删除一行时,我收到以下错误消息
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效更新:第 0 节中的行数无效。更新 (3) 后现有节中包含的行数必须等于该节中包含的行数更新前的节 (3),加上或减去从该节插入或删除的行数(0 插入,1 删除),加上或减去移入或移出该节的行数(0 移入,0 移动出去)。'
我将此代码用于“删除”命令:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
关于如何使删除行功能起作用的任何见解?
编辑:
找到它:将以下代码行放入工作中:
[self.itemTable removeObjectAtIndex:indexPath.row];
这使得删除代码:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
[self.itemTable removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}