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:
。代码的哪一部分有用?我也有同样的问题。你能找到解决办法吗?