CoreData删除保存错误

发布于 2024-12-09 03:17:16 字数 1085 浏览 6 评论 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

    }

上面还有更多的来源。使用我在那里的相同 NSManagedObjectContex 可以很好地更改变量或从 coredata 获取数据。然而删除这个上下文让我发疯。它崩溃了,没有任何错误消息,只是在

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

我尝试获取新的上下文等等......很多......

    [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

    }

There is much more source above it. Change variables or get data from coredata is well performed with the same NSManagedObjectContex I have there. However delete with that context makes me crazy. It crashes without any error message just in

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

I tried get a new context and so on and on........a lot..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

追星践月 2024-12-16 03:17:16

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

You are performing a release on an object (collectionList2) that you don't own. This may cause a crash later on (for example, during the save). Try removing the release.

我家小可爱 2024-12-16 03:17:16

也许您正在尝试删除一个nil对象。
另外,您应该在一个 NSManagedObjectContext 中完成所有这些操作。
尝试将 save:error: 方法放在 deleteObject: 调用的正下方。

Maybe you are trying to delete a nil object.
Also, you should do all this within one single NSManagedObjectContext.
Try putting your save:error: method right below the deleteObject: call.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文