iPhone核心数据问题:referenceData64仅为抽象类定义

occ*_*cce 9 xml iphone core-data

我有一个应用程序,下载/解析一个大的XML文件,并使用核心数据(大约4000个对象(实体))存储信息.XML在另一个线程中加载/解析,该线程有自己的NSManagedObjectContext.

当试图将实体保存到持久性存储时,我有时会收到以下错误(约20%)

2010-03-03 23:41:42.802 xxx [7487:4203] XML保存中的异常
2010-03-03 23:41:42.802 xxx [7487:4203]描述:*-_referenceData64仅为抽象类定义.定义 - [NSTemporaryObjectID_default _referenceData64]!
2010-03-03 23:41:42.803 xxx [7487:4203]名称:NSInvalidArgumentException
2010-03-03 23:41:42.804 xxx [7487:4203] UserInfo:(null)
2010-03-03 23:41:42.805 xxx [7487:4203]原因:*
-_referenceData64仅为抽象类定义.定义 - [NSTemporaryObjectID_default _referenceData64]!

在保存之前,我有一个简单的整数来跟踪应用程序创建的实体与NSManagedObjectContext中的insertedObjects属性的比较,当我得到错误时,这些数字不匹配,NSManagedObjectContext中的insertedObjects缺少大约10个实体.

我不知道如何继续调查这个问题,任何人都知道如何解决这个问题?

谢谢/奥斯卡

Vic*_*tor 5

我在核心数据和多线程操作方面遇到了同样的问题.阅读本文以了解该问题.

在工作线程中,我开始使用函数lock,解锁 NSManagedObjectContext并且崩溃不再重复.

  • 文章链接已被破坏. (5认同)