我有一个程序,我在其中使用 CoreData 来管理永久和临时数据。
在一种情况下,我通过在用户按下取消时删除对象来中止添加一些数据。但是当我点击下一个视图时,数据仍然存在,附加到它的父核心数据对象。
[self.bar removeFoosObject:self.foo];//Why do I need this line?
[self.foo.managedObjectContext deleteObject:self.foo];
我最终通过手动从其父对象中删除子对象来解决这个问题——但这不是核心数据自动处理的吗?为什么我需要第一行?
我运行了一些测试代码,Foo 肯定被删除了——它搞砸的代码让我检查一下,它的 MOC 已设置为 nil。记忆是存在的,但它应该是非常非常死寂的……