我有一个 UITableView,它从 FetchedResultsController 获取一组核心数据对象。我希望能够使用标准删除按钮从表视图中删除一个对象,并让表视图单元格像删除项目时通常那样淡出,但是在我的情况下,我实际上并没有删除该对象,而是将其标记为删除。例如/我有一个名为deleted的属性,所以它仍然存在但似乎已删除;
obj.deleted = [NSNumber numberWithBool:YES];
有没有这样的方法可以做到这一点,所以它似乎仍然按照标准删除工作?
如果不打电话,我似乎无法做到这一点,[self.tableView reloadData]
所以我失去了标准删除附带的漂亮动画。
我的 tableView 获取结果控制器有一个过滤器,因此 tableView 中的数据被过滤;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"deleted == %@", [NSNumber numberWithBool:NO];
怀疑我需要的代码会放在这里;
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
//
}
}