私は次の構造を持っています
永続ストア <-> 親コンテキスト <-> MOC (メイン スレッド上) <-> バックグラウンド スレッド MOC (MOC = 管理対象オブジェクト コンテキスト)
だから、バックグラウンドコンテキストでいくつかの作業を行っています
// Create a background context.
NSManagedObjectContext* context = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
context.parentContext = self.document.managedObjectContext;
// Start using it, but in its own thread!
[context performBlock:^
{...
テーブルからいくつかのオブジェクトをフェッチし、コンテキストでそれらのいくつかを削除します。
NSFetchRequest* request = [NSFetchRequest fetchRequestWithEntityName:@"User"];
NSArray* userQueryResults = [context executeFetchRequest:request error:&error];
for (int i = 0; i < userQueryResults.count; i++)
{
if(someCondition)
[context deleteObject:[userQueryResults objectAtIndex:bla];
}
ここで、残りのユーザーだけを配列に再取得したいとします...
最初にそこにいたすべてのユーザーを再取得しますか、それとも削除されていないユーザーのみを再取得しますか?
「コンテキスト」を保存した場合、違いはありますか?
基本的に、ネストされたコンテキストでのフェッチと保存の違いを理解しようとしています...
ありがとう