我正在编写一个iOS应用程序,我正在使用Core Data来存储一系列Event
个对象(想想生日,圣诞节或会议等等)。每个Event
对象都有一个与NSDate
类型相关联的日期属性。
在我的程序过程中,我收集了一个NSAd的NSDate对象,我想知道如何删除与这些日期相关的核心数据对象?例如,如果我有一个由日期11/7和12/9组成的数组,如何删除日期属性为11/7或12/9的任何事件对象?
我想到的一种可能性是使用谓词和获取请求获取所有相应的Event
对象,然后转身并将其全部删除;然而,这似乎有点低效。如果我的Event
个对象中的一个真的非常大,那么将不会永久地获取它,只是为了让我可以转身并将其删除?
我只是想知道是否有更优雅的方式来处理这个......谢谢
答案 0 :(得分:1)
你可以通过一次获取来处理这个问题 - 使用IN
运算符构建一个谓词,使用你的NSArray日期作为集合,执行获取请求(正如迈克上面所说,它仍然会相对较快),然后删除对象。有关详细信息,请参阅谓词编程指南中的Aggregate Operators。