从 UITableView NSMutableArray 和 ManagedObjectContext 中删除行

Posted

技术标签:

【中文标题】从 UITableView NSMutableArray 和 ManagedObjectContext 中删除行【英文标题】:Delete row from UITableView NSMutableArray and ManagedObjectContext 【发布时间】:2010-12-27 17:04:18 【问题描述】:

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

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

并被记录到模板对象中,所以我的所有对象都以这种方式保存在我的 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】:

您可以使用

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

你可以从NSMutableArray中删除一个对象

[myArray removeObject:myObject];

【讨论】:

我如何从数据库中删除它?它是自动发生的吗? 您已经在“[context deleteObject:[templateObject.questions objectAtIndexPath:indexPath]];”和“[context save:&error]”行中删除了数据库。

以上是关于从 UITableView NSMutableArray 和 ManagedObjectContext 中删除行的主要内容,如果未能解决你的问题,请参考以下文章

如何从 UITableView iphone 获取 UITableView IndexPath?

从 UITableView 隐藏单元格

从 UITableView 中删除顶部填充

从 UItableview 删除一行时崩溃

从 UITableView 中删除 UITableViewCell

如何从 SearchResultDetailView 返回 UITableView