我正在做一个iPhone应用程序,它从XML文件读取数据,将它们转换为核心数据管理对象并保存它们。核心数据的隐藏错误:NSInvalidArgumentException,原因:referenceData64只为抽象类定义
该应用程序工作正常,主要是在较小的数据集/ XML包含〜150个对象。我说的时候,主要是因为10%,我会从CoreData出现以下情况例外,当设法保存上下文:
*终止应用程序由于未捕获的异常“NSInvalidArgumentException”,原因是:“* -_referenceData64只为抽象类定义。定义 - [NSTemporaryObjectID_default _referenceData64]!'
对于一个更大的数据集(〜2000),这种情况每次都会发生,但不在同一个地方。它可能会在第137条记录中,第580条或最后一条记录上失败。我试着移动保存点(每个对象,每10个对象,保存一次所有对象都被分配/初始化),但我总是遇到上述异常。
我google了异常,看到有人有同样的问题,但没有看到任何决议。
我的下一步就是将管理对象和关系简化为一个点,在这个点上这个错误停止并从那里建立以隔离问题。最后的手段是沟渠核心数据,并直接存储到sqllite。
感谢您的帮助!
您是否在模型中使用任何抽象实体? – 2010-01-06 03:01:03
嗨马库斯,我没有使用抽象的实体,但我使用多个线程,我没有意识到在线程中使用核心数据的规则。 – Brombie 2010-01-09 10:47:08
我不完全确定,但在我看来,你有一个抽象的实体,你试图实例化。你能指导我们继承吗? 多么奇怪的错误信息! – beinstein 2011-02-17 12:06:37