目标C - >记录仅从表视图中删除,但不从核心数据中删除

时间:2015-04-12 14:40:38

标签: ios uitableview core-data

我使用以下代码从表视图和核心数据中删除记录。但是记录只从表视图中删除,而不是从核心数据中删除:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete) {

        [tableView beginUpdates];

        [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];

        [self.managedObjectContext deleteObject:[self.fetchedRecordsArray objectAtIndex:indexPath.row]];

        NSError *error;
        if (![self.managedObjectContext save:&error]) {
            NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
        }

        tpAppDelegate* appDelegate = [UIApplication sharedApplication].delegate;
        self.fetchedRecordsArray = [appDelegate getAllRecords];

        [tableView endUpdates];
    }
}

enter image description here

1 个答案:

答案 0 :(得分:-1)

在CoreData中,首先必须使用NSFetchRequest和NSPredicate来获取必须删除的对象。

然后,您应该遍历NSManagedObject并调用deleteObject。