我有一个Core Data对象,如下所示。
DummyObject
{
objectID:<objectID>
objectName:<objectName>
}
我已经保存了1000个DummyObject
。我还有一个数组objectArray
,其中包含100个DummyObject
s。
我想运行一个查询,删除所有不在此数组中的DummyObject
。
答案 0 :(得分:3)
从我的评论中
您可以尝试使用以下谓词作为获取请求
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"NOT (self IN %@)", yourArray];
将它与NSFetchRequest
一起使用可以检索不在数组中的对象。
显然,yourArray
包含DummyObject
类型的对象。
要删除,
// fetch request with predicate...
NSArray* results = // execute the fetch request
for(NSManagedObject* dummy in results) {
[context deleteObject:dummy];
}
// save here...
其中results
是获取请求检索的对象数组。