1

次のような Core Data オブジェクトがあります。

DummyObject
{
  objectID:<objectID>
  objectName:<objectName> 
}

そして、私はこれらの を 1000 個DummyObject保存しています。objectArrayこれらの s を 100 個含む配列もありますDummyObject

DummyObjectこの配列にないすべての を削除するクエリを実行したいと思います。

4

1 に答える 1

3

私のコメントより

フェッチリクエストに対して次のような述語を試すことができます

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は、フェッチ リクエストによって取得されたオブジェクトの配列です。

于 2013-01-02T13:57:51.747 に答える