0

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

当我NSManagedObjects从 Core Data 中删除 a 时,我的应用程序因以下建议而崩溃:

CoreData`_nameForEntityDescription:

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

我正在使用 MagicalRecord 来满足我的核心数据需求,但我不怀疑这是问题所在。在这一点上,我很困惑这个问题可能是什么。

是否有任何 Core Data 专家可以就问题可能给我任何提示?

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

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

所以看起来 NSManagedObject 模型有些东西已经损坏了,但是我已经查看了我拥有的所有东西,但我看不到它会是什么:(

4

1 回答 1

1

我过去在删除对象时遇到过崩溃。由于您在这里没有足够的详细信息,因此我将给您一些一般性的检查:

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

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

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

于 2012-09-10T16:28:59.627 回答