从数据库中删除记录

时间:2013-08-30 14:58:16

标签: ios uitableview core-data delete-row

我尝试从tableview中删除单元格并尝试从数据库中删除其关联的记录失败。这是我的代码:

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

        // Delete the row from the data source
        [self.arr removeObjectAtIndex:indexPath.row];
        [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
        [self.tableView reloadData];
        NSError *error = nil;
        [self.context save:&error];
    }
    else if (editingStyle == UITableViewCellEditingStyleInsert) {
        // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
    }
        [self.tableView reloadData];
}

欢迎任何建议。我已经尝试了一切,在SO上阅读了很多类似的问题,仍然无法弄明白。谢谢。

2 个答案:

答案 0 :(得分:1)

在删除数组调用中的对象之前:

NSManagedObject *eventToDelete = [matchedObjects objectAtIndex:indexPath.row];
[context deleteObject:eventToDelete];

答案 1 :(得分:1)

从表格视图中删除行您已写入的内容正确但删除行后请勿在{{1​​}}后调用ReloadData ....

deleteRowsAtIndexPaths

您从未删除数据库中的对象。