Ios 核心数据、关系消失

Ios 核心数据、关系消失,ios,core-data,Ios,Core Data,我在数据库中有两个实体,Category和Subcategory。类别可以有多个子类别。这些关系的定义如下: 类别->子类别(到多个,有反向,级联) 子类别->类别(到一,有反向,无效) 一切正常,但有时类别->子类别关系为空,子类别->类别正常,这很奇怪。这种情况很少发生,我无法找出原因 下面是来自控制台的日志,其中可以看到category的实例具有空的子类别关系,但数据库中的一个子类别具有与其关系相同的category实例 我不明白为什么关系的一端是空的,而另一端是ok的,因为当任意一端被设

我在数据库中有两个实体,Category和Subcategory。类别可以有多个子类别。这些关系的定义如下:

类别->子类别(到多个,有反向,级联)

子类别->类别(到一,有反向,无效)

一切正常,但有时类别->子类别关系为空,子类别->类别正常,这很奇怪。这种情况很少发生,我无法找出原因

下面是来自控制台的日志,其中可以看到category的实例具有空的子类别关系,但数据库中的一个子类别具有与其关系相同的category实例

我不明白为什么关系的一端是空的,而另一端是ok的,因为当任意一端被设置时,它们会自动连接起来


Category: 0x7b6f8020> (entity: Category; id: 0x7b6f6d40 x-coredata://021C3D9A-7A0C-4326-B526-9E9253611C44/Category/p8> ; data: {
    … other data
    subcategories =     (
    );
})

Subcategory: 0x7c8f7770> (entity: Subcategory; id: 0x7c8c91b0 x-coredata://021C3D9A-7A0C-4326-B526-9E9253611C44/Subcategory/p5> ; data: {
    … other data
    category = "0x7b6f6d40 x-coredata://021C3D9A-7A0C-4326-B526-9E9253611C44/Category/p8>";
})

您是否使用刷新对象:合并更改:?文档似乎表明,这可能会导致您的以下问题:

可以使用refreshObject:mergeChanges:方法将已实现的对象转化为故障。如果在mergeChanges参数中传递NO,则必须确保该对象的关系没有更改。如果存在引用完整性问题,然后保存上下文,则会给持久化存储引入引用完整性问题。


请参阅苹果的文档。

。也许可以在XCode中添加数据模型的屏幕截图,以便我们可以帮助查找未设置正确的内容?这两个对象是否来自同一托管对象上下文?是的,这两个对象来自同一MOC。数据模型是正常的,否则它将根本无法工作。我发现一段代码在“performblock”之外的子类别实体中更改了一些属性,这可能是原因吗?这种情况在一个月内发生了两次,因此很难调试。上次发生时,我保存了一个数据库文件,但仍然无法找到它。我不使用refreshObject:mergeChanges:代码中的任何地方。是否使用基本访问器?或者直接修改类别。子类别NSSet?