我有一个应用程序,它使用核心数据(大约4000个对象(实体))下载/解析大型XML文件并存储信息。 XML在不同的线程中加载/解析,该线程具有自己的NSManagedObjectContext。iPhone核心数据问题:仅为抽象类定义的referenceData64
当试图将实体保存到持久性存储,我有时会收到以下错误(约20%)
2010-03-03 23:保存异常在XML 41:42.802 XXX [4203 7487]
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:(空)
2010-03- 03 23:41:42.805 xxx [7487:4203]原因:* -_referenceData64仅针对抽象类定义。定义 - [NSTemporaryObjectID_default _referenceData64]!
我有一个简单的整数来跟踪应用程序创建的实体与NSManagedObjectContext中的insertedObjects属性进行比较,然后保存,当我得到错误时,这些数字不匹配,NSManagedObjectContext中的insertedObjects缺少约10实体。
我不知道我应该如何继续调查这个问题,任何人有任何想法如何解决这个问题?
感谢 /奥斯卡
子目录做不正确初始化等可能会出现此问题*子类=(子类别*)[self.managedObjectContext objectWithID:currentSubcategory.objectID]。 这解决了我的问题。 – 3lvis
文章链接已损坏。 – ericg
您的解决方案适用于我。就我个人而言,我使用块迭代ALAssetsLibrary。每块内部我都写了CD。我将块内容封装在@syncrhonized(中),现在它工作的很好。谢谢! –
VaporwareWolf