次のような Core Data オブジェクトがあります。
DummyObject
{
objectID:<objectID>
objectName:<objectName>
}
そして、私はこれらの を 1000 個DummyObject保存しています。objectArrayこれらの s を 100 個含む配列もありますDummyObject。
DummyObjectこの配列にないすべての を削除するクエリを実行したいと思います。
私のコメントより
フェッチリクエストに対して次のような述語を試すことができます
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"NOT (self IN %@)", yourArray];
とともに使用するとNSFetchRequest、配列にないオブジェクトを取得できます。
明らかに、yourArraytype のオブジェクトが含まれていますDummyObject。
削除するには、
// fetch request with predicate...
NSArray* results = // execute the fetch request
for(NSManagedObject* dummy in results) {
[context deleteObject:dummy];
}
// save here...
whereresultsは、フェッチ リクエストによって取得されたオブジェクトの配列です。