2011-10-10 104 views
0
[request2 setEntity:entity]; 

    NSPredicate * predicate2 = [ NSPredicate predicateWithFormat:@"logoFrameNum == %@",[NSNumber numberWithInt:7]]; 
    [request2 setPredicate:predicate2];  


    NSManagedObject * collectionList2 = [[ managedObjectContext executeFetchRequest:request2 error:&error2] objectAtIndex:0]; 


    NSLog(@"context :%@", deleteContext1); 
    [managedObjectContext deleteObject:collectionList2]; 

    BOOL yesorno = [collectionList2 isDeleted]; 

    NSLog(@"yesorno : %i", yesorno); 

    NSError * error10; 

    NSLog(@"[managedObjectContext ] : %@", deleteContext1); 

    [collectionList2 release]; 

    if (![managedObjectContext save:&error10]) { 
     // Update to handle the error appropriately. 
     NSLog(@"Unresolved error %@, %@", error10, [error userInfo]); 
     exit(-1); // Fail 

    } 

上面有更多的来源。更改变量或从coredata获取数据很好地执行与我在那里有相同的NSManagedObjectContex。然而,用这种语境删除让我发疯。它崩溃,没有任何错误信息只是在CoreData删除保存错误

if (![managedObjectContext save:&error10]) { 

我试图得到一个新的上下文等等和........很多..

+0

'deleteContext1'从哪里来? – Eimantas

回答

0

也许您正试图删除nil目的。
此外,你应该在一个单一的NSManagedObjectContext内做到这一切。
尝试将您的​​方法正确调用deleteObject:

1

您正在对不属于您的对象(collectionList2)执行release。这可能会在稍后导致崩溃(例如,在保存期间)。尝试删除release