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