あなたは物事をシンプルにしたい場合にのみ、単一のmanagedObjectContextを扱います。 NSPersistentContainer
を使用している場合、これはviewContext
です。主スレッドからのみコアデータを常に読み書きするようにしてください。多くのチュートリアルでは、1つのmanagedObjectContextで同様の簡単な設定を見つけることができます。
これをマスターしたら、NSPersistentContainer
の使い方を正しく理解する必要があります。
- のみ
performBackgroundTask
を使って書くviewContext
- に書き込まない:それは難しいことで従うべきいくつかの簡単なルールがあるではありません。オブジェクトIDを渡し、コンテキスト内でそれを再フェッチ -
- はperformBackgroundTaskの内部の
viewContext
managedObjectを使用しないでくださいperformBackgroundTask
- から任意のmanagedObjectsまたはコンテキストを使用しないでください。
- newBackgroundContextを使用しないでください。遭遇する可能性が非常に低い非常にまれな状況でのみ役に立ちます。
- フェッチ後、すべてのmanagedObjectを破棄します。管理対象オブジェクトをポイントする必要がある場合は、fetchedResultsControllerを使用してください。たとえオブジェクトが1つだけの場合でも、
あなたの質問はあまりにも曖昧すぎて良い答えがありません。あなたが特定の問題を抱えている場合、あなたが試したこととあなたが持っていた特定の問題を記述してください。 「私はそれを働かせることができません」というのは、ドキュメントや他の入門チュートリアルに戻って答えてくれるだけです。 –