gpt4 book ai didi

ios - 替换核心数据中一对多关系中的实体

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:34:02 24 4
gpt4 key购买 nike

当我从一对多关系的一侧检索实体时,我从集合中创建一个可变数组,该集合是关系中实体的集合。我操纵、编辑或以其他方式更改这些实体,可能会删除现有实体或添加新实体。完成更改后,我只需使用数组创建一个新集合,然后用我创建的集合替换原始集合,如下所示:

self.myOneSideEntity.theManySideEntitiesRelationship = [NSSet setWithArray:myNewArrayOfEntities];

我突然想到,更换集合可能不是删除旧成员。他们发生了什么?这是编辑相关对象集合的正确方法吗?我是否会留下任何类型的孤儿或违背这种技术的最佳实践?

我的关系是用逆关系建立的,一侧级联删除,多侧无效,逆关系不是可选的。

最佳答案

我花了几天时间来了解我的应用程序中的类似行为。

关系的“删除规则”仅在包含关系的对象被删除时才起作用。如果您只是将一组对象替换为另一组对象(就像您所做的那样)——什么也不会发生。旧集合中的子对象将简单地将反向关系设置为零。因此,如果该关系(从子端)不是可选的,则在保存上下文时会出现 CoreData 错误。

目前我没有找到任何方法来管理这个,除了手动删除旧对象。

关于ios - 替换核心数据中一对多关系中的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6963543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com