似乎我的SQLite数据库已损坏,我不知道如何。
我的模型中有RemoteObject(remoteObject) <---> User(user)
现在不知何故,我的persistentStore已达到remoteObject
指向作者表中不存在的author
的状态。
基本上,如果我在ZREMOTEOBJECT
表上运行以下查询,它会返回 5 记录 -
SELECT * FROM
{ZREMOTEOBJECT {1}}
但是,如果我在where ZAUTHOR >300
表上运行以下内容,则会返回 0 记录 -
ZUSER
{ZUSER {1}}
所以这里的问题是,如果我使用SELECT * FROM
来获取where Z_PK >300
,则对象返回正常,但当我尝试访问existingObjectWithID:
时,它会崩溃
remoteObject
在数据库进入此状态之前,应用程序已崩溃。但我不明白数据库是如何处于不一致状态的。现在,由于此状态是持久的,因此无论何时我尝试访问此remoteObject.author
的{{1}},它都会崩溃并且应用程序似乎无法从此状态恢复,除非删除应用程序并再次安装它。
如果有任何其他信息有助于分析此问题,请与我们联系。
编辑1
更详细的关系 -
这种关系是向前和向后定义的。
CoreData could not fulfill a fault for '0x180bc890 <x-coredata://64B7103E-5761-485B-8B4D-6B8174E786D0/User/p342>'