Ios 从核心数据中删除不包含';不存在于数组中
我有一个如下所示的核心数据对象Ios 从核心数据中删除不包含';不存在于数组中,ios,core-data,Ios,Core Data,我有一个如下所示的核心数据对象 DummyObject { objectID:<objectID> objectName:<objectName> } DummyObject { 目标: 对象名称: } 我保存了1000个DummyObjects。我还有一个数组objectArray,其中包含100个DummyObjects 我想运行一个查询,删除所有不在此数组中的DummyObjects。 对于获取请求,您可以尝试如下谓词 NSPredicate *pre
DummyObject
{
objectID:<objectID>
objectName:<objectName>
}
DummyObject
{
目标:
对象名称:
}
我保存了1000个DummyObject
s。我还有一个数组objectArray
,其中包含100个DummyObject
s
我想运行一个查询,删除所有不在此数组中的DummyObject
s。
对于获取请求,您可以尝试如下谓词
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
是获取请求检索到的对象数组。您可以对获取请求尝试如下谓词NSPredicate*谓词=[NSPredicate predicateWithFormat:@“NOT(self IN%@)”,yourArray]代码>让我知道这是否有效。所以这个答案说你需要一个唯一的id:。所以我不能100%确定这个答案是否有效。