views:

30

answers:

1

Hi, I'm a first time Core Data user/learner for iPhone, I thought that [managedObjectContext save:$error] was used to save changes to the Persistant Store.

But when I reload and call NSFetch, the objects are still there. Any ideas why?

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
}
+4  A: 

I was expecting to see a line where you delete the object from the managedObjectContext:

[manageObjectContext deleteObject:toDelete];

assuming manageObjectContext is your context, and toDelete is a managedObject in your context, or mutableFetchResults.

Then I expected to see the save directly afterwards.

Jordan
+1 This is the cause of the problem. He is not removing the objects from the context but just from some random array.
TechZen