在Core Data中删除实体中所有实例的最有效方法是什么?

时间:2012-07-31 10:43:37

标签: iphone ios core-data

我从post找到了我可以删除实体的所有实例并将其全部删除。 有没有更有效的方法去除?我的考虑是我将在该实体内拥有数千条记录。

2 个答案:

答案 0 :(得分:1)

没有更有效的方法,因为CoreData是ORM层,而不是数据库。因此,您处理对象,如果您希望它们消失,您必须删除它们。

您可能想要研究的一个技巧是创建一个父对象,该对象与要删除的对象具有一对多的关系。你基本上只有一个指向你的大表中的每个条目。在模型中的关系上设置级联删除选项。然后,当清除时间时,您只需删除父对象。由于延迟加载,它不会尝试加载其他对象。

话虽这么说,我自己没有尝试过,但它似乎是一个可行的选择。

答案 1 :(得分:0)

在此实体的所有实例都是自包含的特殊情况下,删除支持文件并重新初始化管理对象会更快。这只适用于您的数据可以安排,以便临时的东西在自己的商店内。

否则,通过使用直接数据库访问而不是核心数据,您可能会获得更好的结果。