扩展NSManagedObject的删除方法

时间:2012-05-10 09:56:55

标签: objective-c core-data nsmanagedobject

我正在使用CoreData,并且想知道我是否可以以某种方式扩展我的NSManagedObjects以执行自定义工作(例如删除属于此实例的文件)。

在我的情况下,我有几个CoreData实体,每个实体可能有一个存储在属性中的文件夹或文件路径。如果实体被删除,我希望这个实体能够自己删除引用的文件。

这种行为在与“级联”删除规则结合使用时特别有用,因为删除实体会删除所有子实体及其文件。

如果没有这样的机制,我会为包含自定义删除方法的每个实体编写一个类别,包括可能有孩子的实体的级联行为。

你会做什么,我的问题有一个优雅的解决方案吗?以前是否已经讨论过这个问题而我还没有找到它?

非常感谢!

1 个答案:

答案 0 :(得分:18)

您可以通过覆盖prepareForDeletion子类中的NSManagedObject方法,在删除对象之前执行其他清理。