看起来是一项微不足道的任务,但是我找不到我做错了什么。我有一个带有部分的表格视图,我可以删除 1 个项目,但是当我尝试删除多个项目时,所有项目都会从表格中消失。
重要的是要在这里提到,如果我只删除 1 行,该场景效果很好。删除一行不会影响 UITableView 的项目。
当我单击编辑按钮时,每一行都是删除的候选者。代码是
[self.tableView setEditing:YES animated:YES];
当我删除一行时,代码调用:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSMutableArray *itemsOfGroup = [[table1 getItems] retain];
int section = indexPath.section;
section = section - 1;
MyItem *deleteItem = (MyItem*)[[[sections objectAtIndex:section] objectForKey:@"SectionEntries"] objectAtIndex:indexPath.row];
[itemsOfGroup removeObject:deleteItem];
[table1 setItems:[itemsOfGroup autorelease]];
[[[sections objectAtIndex:section] objectForKey:@"SectionEntries"] removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject: indexPath] withRowAnimation:UITableViewRowAnimationRight];
[self createSections];
[self.tableView reloadData];
}
我的记忆可能有问题吗?(我认为一旦出现消息“发送到已释放实例的消息”出现在一个NSArray
类中)
值得一提的是,我的项目实际上并未从数据源中删除。它们只会从表格视图中消失。