如何一次删除多个核心数据对象?

时间:2012-07-11 15:56:23

标签: ios core-data

我正在编写一个iOS应用程序,我正在使用Core Data来存储一系列Event个对象(想想生日,圣诞节或会议等等)。每个Event对象都有一个与NSDate类型相关联的日期属性。

在我的程序过程中,我收集了一个NSAd的NSDate对象,我想知道如何删除与这些日期相关的核心数据对象?例如,如果我有一个由日期11/7和12/9组成的数组,如何删除日期属性为11/7或12/9的任何事件对象?

我想到的一种可能性是使用谓词和获取请求获取所有相应的Event对象,然后转身并将其全部删除;然而,这似乎有点低效。如果我的Event个对象中的一个真的非常大,那么将不会永久地获取它,只是为了让我可以转身并将其删除?

我只是想知道是否有更优雅的方式来处理这个......谢谢

1 个答案:

答案 0 :(得分:1)

你可以通过一次获取来处理这个问题 - 使用IN运算符构建一个谓词,使用你的NSArray日期作为集合,执行获取请求(正如迈克上面所说,它仍然会相对较快),然后删除对象。有关详细信息,请参阅谓词编程指南中的Aggregate Operators