从UITableView NSMutableArray和ManagedObjectContext中删除行

时间:2010-12-27 17:04:18

标签: objective-c uitableview core-data nsmutablearray entity-relationship

我有从NSMutableArray填充的UITableView。 NSMutableArray是从我的NSFetchedResultsController创建的,它来自另一个视图

  Templates *template2 = (Templates *)[fetchedResultsController objectAtIndexPath:indexPath];
        qModalView.templateObject = template2;

并被记录到templateObject中,所以我的NSMutablArray中的所有对象都是这样的。

[templateObject.questions allObjects];

现在我要删除表视图中的行,数组中以及templateObject.questions中该特定对象中的行。

请帮助,我到目前为止:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    Questions *question_var = [questionsArray objectAtIndex:indexPath.row];

    NSLog(@"_____________________________%@", question_var.question_title);

    NSManagedObjectContext *context = [templateObject managedObjectContext];
    [context deleteObject:[templateObject.questions objectAtIndexPath:indexPath]];

    NSError *error;
    if (![context save:&error]) {

        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        abort();
    }else{
        NSLog(@"deleted");
    }
}

1 个答案:

答案 0 :(得分:1)

您可以使用

删除表格中的行
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
                 withRowAnimation:YES];

您可以使用

NSMutableArray删除对象
[myArray removeObject:myObject];