指定されたコンテキストの適切なキューで変更が行われるように、を使用performBlock
しています。NSManagedObjectContexts
私の質問は、多くの変更を加えて内部からメソッドを呼び出すperformBlock
場合、適切なコンテキストのオブジェクトを使用することを保証する簡単な方法があるかどうかです。
例:
アプリケーションの現在のアカウント用のiVar activeAccount
(メインキューで作成)があります。オブジェクトを使用して特定のタスク(データの取得、データの設定)を実行NSMangedObject
するインスタンスメソッドがいくつかあります。activeAccount
だから私の質問は、私がバックグラウンドで何かをしていてNSManagedObjectContext
、これらの共有メソッドの1つを呼び出すかどうかです-これらのメソッドで現在のactiveAccount
iVarを使用するか、新しいものを取得するかを知るために使用できるパターンはありますか?また、必要なことを行う必要がある場合は、NSManagedObjectContext
どれを取得/使用するかをどのように知ることができますか。
どちらを使用するかを知るための1つのメソッドはNSManagedObjectContext
、現在のスレッドで実行されているかどうかをチェックするメソッドがあります。これにより、メインスレッドのコンテキストまたはバックグラウンドスレッドのコンテキストを返すことがわかります。また、バックグラウンドスレッドを使用している場合、メインスレッドに存在するオブジェクトIDを読み取ってactiveAccount
、バックグラウンドスレッドでそのコピーを取得できるようにすることはできますか?前もって感謝します。