Ios 核心数据不保存一对多关系

Ios 核心数据不保存一对多关系,ios,macos,core-data,Ios,Macos,Core Data,我有两个实体,文档和附件。一个文档可以有许多附件。附件可以属于单个文档 出于某些原因,当我执行以下操作时,核心数据没有保存文档及其附件之间的关系: [document addAttachments:attachments]; [context save:&error]; [context reset]; 如果在执行上述代码后提取文档,其附件将为空。但是,附件已保存 如果我手动设置反向关系,则关系将被保存: [document addAttachments:attachments]; f

我有两个实体,
文档
附件
。一个文档可以有许多附件。附件可以属于单个文档

出于某些原因,当我执行以下操作时,核心数据没有保存文档及其附件之间的关系:

[document addAttachments:attachments];
[context save:&error];
[context reset];
如果在执行上述代码后提取文档,其附件将为空。但是,附件已保存

如果我手动设置反向关系,则关系将被保存:

[document addAttachments:attachments];
for (Attachment *attachment in attachment)
{
    attachment.document = document;
}
[context save:&error];
[context reset];
我认为没有必要与核心数据建立双向关系。我做错了什么

如果有帮助,关系定义如下:

附件

  • 暂时的:没有
  • 可选项:是
  • 目的地:附件
  • 反向:文件
  • 删除规则:级联
  • 类型:对许多
  • 命令:没有
文档

  • 暂时的:没有
  • 可选项:是
  • 目的地:文件
  • 反向:附件
  • 删除规则:无效
  • 类型:一对一
也试过
  • 使用
    mutableSetValueForKey:
    而不是生成的访问器
  • 逐个添加附件
  • 保留
    附件
    数组,以防万一

同样的结果。

这应该有效。也许这两个答案会有帮助


你能发布一些代码吗?

谢谢@aniruddhc。我没有覆盖
willChangeValueForKey:withSetMutation:inMutationKind:usingObjects:
didChangeValueForKey:withsetmutationkind:usingObjects:
。代码的哪一部分有用?我也有同样的问题。你能找到解决办法吗?