2010-10-13 78 views
3

我是第一次为iPhone核心数据用户/学习者,我认为[managedObjectContext save:$error]被用来保存更改到持久存储。核心数据保存到数据库不工作

但是当我重新加载并调用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 
} 

回答

6

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

[manageObjectContext deleteObject:toDelete]; 

假设manageObjectContext是您的上下文,并toDelete是在你的情况下,或mutableFetchResults一个managedObject。

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

+1

+1这是问题的原因。他不是从上下文中删除对象,而是从一些随机数组中删除对象。 – TechZen 2010-10-14 00:22:44