gpt4 book ai didi

objective-c - 如何使用核心数据删除与同一实体的一对一和一对多关系

转载 作者:行者123 更新时间:2023-12-03 17:11:35 25 4
gpt4 key购买 nike

我有两个核心数据实体: Assets 和图像。 Assets 与图像具有一对多和一对一关系。见图:

To-Many and To-One relationship

对于域,如果从images中删除了图像,则该图像不能再作为keyImage

我可以通过在核心数据中使用正确的逆关系和删除规则来强制执行此操作,还是必须为 Assets 创建 NSManagedObject 的子类并添加自定义 removeImage 方法,将 keyImage 设置为 nil,如果从 images 中删除图像(也是 keyImage)?

最佳答案

是的。所有关系都有逆关系,您应该指定删除规则来处理删除项目时关系发生的情况。

因此,一旦您获得了从 ImagekeyImage 的反转,并且删除了 keyImage 的项目,它将自动设置 keyImagenil 的关系。可以使用完全相同的过程从 images 中删除图像。

请注意,从 images 关系中删除 Image 项不会将其从上下文中删除。您需要在具有目标项的上下文上显式调用 deleteObject: 才能执行此操作(然后删除规则将在其关系上运行)。

如果需要自动选择其他图像作为关键图像,那么复杂性就会出现,那么您将需要在子类中自定义代码。

关于objective-c - 如何使用核心数据删除与同一实体的一对一和一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23936414/

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