gpt4 book ai didi

objective-c - 核心数据对象删除导致应用程序崩溃

转载 作者:行者123 更新时间:2023-11-29 04:25:52 24 4
gpt4 key购买 nike

我尝试恢复源代码,试图找出导致严重问题的原因。

当我从核心数据中删除 NSManagedObjects 时,我的应用程序崩溃并出现以下建议:

CoreData`_nameForEntityDescription:

请注意,我看到了其中一个 NSManagedObject 的错误,但也没有看到另一个 NSManagedObject 的错误。

我正在使用 MagicalRecord 来满足我的核心数据需求,但我并不怀疑这是问题所在。此时,我对问题所在感到非常困惑。

有没有核心数据专家可以给我一些关于问题可能是什么的提示?

当我尝试为一个对象获取一组 NSManagedObjects 时(通过它的关系),我也看到了与 _nameForEntityDescription 完全相同的问题:

NSSet* delSet = [NSSet setWithSet:contact.contactEmails];

所以 NSManagedObject 模型似乎有些东西被破坏了,但我已经检查了我所拥有的一切,但我看不到它会是什么:(

最佳答案

我过去在删除对象时曾发生过崩溃。由于您在这里没有足够的详细信息,我将为您提供一些一般性的信息来检查:

1) 删除对象时,请确保没有对该对象的未完成引用。当您在删除对象后保存上下文时,您将删除存储中的后备引用。这意味着,您的对象在数据库中没有实际记录。下次您使用该对象时,Core Data 会对您大喊大叫。

2) 当您进行线程后台保存时,问题 1 会经常出现。您可以使用的解决方案是在保存后重新获取所有数据对象引用,以便保证您拥有正确的数据和有效的对象。 MagicalRecord 提供了一个完成 block 机制来帮助您解决这个问题。

如果您怀疑 ManagedObjectModel 是问题所在,我还必须进行全新构建并从模拟器/设备中删除该应用程序,以删除任何以前的构建工件。

关于objective-c - 核心数据对象删除导致应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12353702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com