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