核心数据保存到数据库不起作用

Posted

技术标签:

【中文标题】核心数据保存到数据库不起作用【英文标题】:Core Data Saving to Database not Working 【发布时间】:2010-10-13 23:42:25 【问题描述】:

我是 iPhone 的第一次 Core Data 用户/学习者,我认为 [managedObjectContext save:$error] 用于保存对 Persistant Store 的更改。

但是当我重新加载并调用 NSFetch 时,对象仍然存在。任何想法为什么?

for (int i ; i < [mutableFetchResults count];i++)

    NSManagedObject *toDelete = [mutableFetchResults objectAtIndex:i];
    [managedObjectContext toDelete];

    // Update the array and table view.
    [mutableFetchResults removeObjectAtIndex:i];



if (![managedObjectContext save:&error]) 
    // Handle the error.
    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    exit(-1);  // Fail

【问题讨论】:

【参考方案1】:

我期待看到您从 managedObjectContext 中删除对象的行:

[manageObjectContext deleteObject:toDelete];

假设 manageObjectContext 是您的上下文,toDelete 是您的上下文中的 managedObject,或者 mutableFetchResults。

然后我希望之后直接看到保存。

【讨论】:

+1 这是问题的原因。他没有从上下文中删除对象,而只是从某个随机数组中删除。

以上是关于核心数据保存到数据库不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在子上下文中保存核心数据不起作用

在核心数据中同时保存上下文在 iOS7 中不起作用

从核心数据中检索 UUID 并设置 UUID 变量不起作用

核心数据到 SQL 不起作用

核心数据 NSManagedObject 到 JSON 编码不起作用

在地图上保存纬度和经度点击到 SQLite 数据库不起作用