CoreData删除保存错误

时间:2011-10-10 05:39:23

标签: ios iphone cocoa-touch core-data nsmanagedobjectcontext

    [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

    }

上面有更多来源。使用与我相同的NSManagedObjectContex很好地执行更改变量或从coredata获取数据。然而删除与上下文让我疯了。它只是在

中崩溃而没有任何错误消息
if (![managedObjectContext save:&error10]) {

我尝试了一个新的背景,依此类推........很多..

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

也许您正在尝试删除nil个对象 此外,您应该在一个NSManagedObjectContext内完成所有这些工作 尝试将save:error:方法放在deleteObject:电话的正下方。