我正在使用CoreData,并且想知道我是否可以以某种方式扩展我的NSManagedObjects以执行自定义工作(例如删除属于此实例的文件)。
在我的情况下,我有几个CoreData实体,每个实体可能有一个存储在属性中的文件夹或文件路径。如果实体被删除,我希望这个实体能够自己删除引用的文件。
这种行为在与“级联”删除规则结合使用时特别有用,因为删除实体会删除所有子实体及其文件。
如果没有这样的机制,我会为包含自定义删除方法的每个实体编写一个类别,包括可能有孩子的实体的级联行为。
你会做什么,我的问题有一个优雅的解决方案吗?以前是否已经讨论过这个问题而我还没有找到它?
非常感谢!
保
答案 0 :(得分:18)
您可以通过覆盖prepareForDeletion
子类中的NSManagedObject
方法,在删除对象之前执行其他清理。