核心数据对象删除崩溃应用程序

时间:2012-09-10 14:24:02

标签: objective-c ios core-data magicalrecord

我已经尝试在我的源代码中恢复原来,试图弄清楚导致严重问题的原因。

当我从Core Data中删除NSManagedObjects时,我的应用程序崩溃并提出以下建议:

CoreData`_nameForEntityDescription:

请注意,我在NSManagedObject s中看到了错误,但也看不到其他NSManagedObject错误。

我使用MagicalRecord来满足我的核心数据需求,但我并不怀疑这是问题所在。在这一点上,我非常难以解决问题所在。

是否有任何核心数据专家可能能够就此问题向我提供任何提示?

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

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

因此看起来NSManagedObject模型的某些东西是腐败的,但是我已经查看了我拥有的所有东西,我看不出它会是什么:(

1 个答案:

答案 0 :(得分:1)

我在删除过去的对象时遇到了崩溃。由于这里没有足够的细节,我会给你一些一般性的东西来检查:

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

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

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