ios - 我的删除核心对象方法有什么问题?

标签 ios objective-c core-data

我有一个由 UIViewControllers 在应用程序委托(delegate)中调用的方法,它删除与所选对象名称匹配的核心对象。它从正确的 UIListView 中删除,刷新方法(检查所有对象的核心数据)不会将其带回 ListView 。但是,当我关闭应用程序并重新启动它时,它会恢复刚刚删除的对象。方法如下:

-(void)deleteObject:(NSString *)configName
{
    //Generates the request context for core data
    NSManagedObjectContext *context = [self managedObjectContext];
    NSEntityDescription *entityDesc = [NSEntityDescription entityForName:@"StoredSetups" inManagedObjectContext:context];
    NSFetchRequest *request = [[NSFetchRequest alloc]init];
    [request setEntity:entityDesc];
    NSPredicate *pred = [NSPredicate predicateWithFormat:@"(config_name = %@)", configName];
    [request setPredicate:pred];
    NSManagedObject *matches = nil;
    NSError *error;
    NSArray *objects = [context executeFetchRequest:request error:&error];

    if (objects.count == 0)
    {
        NSLog(@"No Matches");
    }
    else
    {
        matches = objects[0];
        [context deleteObject:matches];
    }
}

我们将不胜感激任何帮助或反馈。提前致谢!

最佳答案

你必须像这样在删除后保存上下文:

if (objects.count == 0)
    {
        NSLog(@"No Matches");
    }
    else
    {
        matches = objects[0];
        [context deleteObject:matches];
        [context save:&error];
    }

关于ios - 我的删除核心对象方法有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31991862/

相关文章:

objective-c - NSDecimalNumber 的小数部分

objective-c - 处理注释不当的 Objective-C 方法?

ios - [context assignObject : toPersistentStore ] do? 是什么

iphone - 使用核心数据的奇怪错误

ios - 删除 applicationWillTerminate 中的 20000 个文件

iphone - 专属网络使用

ios - 如何做json类型响应?

objective-c - 如何确保对象在使用前已完成初始化?

iphone - 如何确定哪个 UIAlertView 调用了委托(delegate)。

ios - UIPresentation Controller - 从后台返回后布局出错