gpt4 book ai didi

ios - 为什么在删除核心数据中的对象之前需要删除关系?

转载 作者:行者123 更新时间:2023-11-29 13:21:39 24 4
gpt4 key购买 nike

我有一个程序,我在其中使用 CoreData 来管理永久和临时数据。

在一个实例中,我通过在用户按下取消时删除对象来中止添加一些数据。但是当我点击下一个 View 时,数据仍然存在,附加到它的父核心数据对象。

    [self.bar removeFoosObject:self.foo];//Why do I need this line?
[self.foo.managedObjectContext deleteObject:self.foo];

我最终通过从父对象中手动删除子对象解决了这个问题——但这不是核心数据自动处理的东西吗?为什么需要第一行?

我运行了一些测试代码,Foo 肯定被删除了——它搞砸的代码让我检查一下,它的 MOC 已设置为 nil。内存是存在的,但应该是非常非常死的……

最佳答案

您必须手动执行此操作,因为您的删除规则设置错误。检查以下苹果文档中的关系删除规则。

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdRelationships.html

或者也可能是父子对象之间的关系未设置为可选。

而且在删除对象后,您应该保存数据库以同步它。

关于ios - 为什么在删除核心数据中的对象之前需要删除关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14248967/

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