Core Data ストア内の 1 つまたはいくつかのオブジェクトを除くすべてを削除する効率的な方法はありますか? 現在の解決策は、ストア全体を削除して ( RKObjectStore.deletePersistantStore
RestKit を使用)、オブジェクトを再構築することですが、追加のサーバー リクエストが必要になるため、これは最適ではありません。理想的には、ストアからオブジェクトを「デタッチ」し、ストアをダンプしてから、再挿入するための優れた方法があるでしょう。
ありがとう!
Core Data ストア内の 1 つまたはいくつかのオブジェクトを除くすべてを削除する効率的な方法はありますか? 現在の解決策は、ストア全体を削除して ( RKObjectStore.deletePersistantStore
RestKit を使用)、オブジェクトを再構築することですが、追加のサーバー リクエストが必要になるため、これは最適ではありません。理想的には、ストアからオブジェクトを「デタッチ」し、ストアをダンプしてから、再挿入するための優れた方法があるでしょう。
ありがとう!
最初にオブジェクトの数を取得してから、1 つ少ない数を取得できます。
NSInteger count = [self.managedObjectContext countForFetchRequest:fetchRequest error:nil];
fetchRequest.fetchLimit = count-1;
フェッチを実行し、結果を反復して削除します。
sqlite フレームワークを使用してストア ファイルにクエリを送信することで、データベースのサイズを縮小することもできますがvacuum
、いずれにしても再びいっぱいになる場合は、これは実際には必要ありません。