1

複数のManagedObjectContextsでCoreDataを使用する多くの例を見てきました(新しいiOS5 +の親/子の方法で)。たとえば、次のようになります。

//
//          persistentStore (on disk)
//                 |
//   persistentManagedObjectContext (exclusively for saving)
//                 |
//   mainThreadManagedObjectContext (for managedObject's used on the mainThread)
//                 |
//      childManagedObjectContext (created "on the fly" for background task, and destroyed when saving is done)
//
  1. 上記のこの3層のアプローチでは、子MOCで実行される各フェッチにより、読み取られたオブジェクトの少なくとも3つのコピーがメモリに保持され、各MOCに1つ(さらに、内部メッセージングではさらに多く)になると私は考えていますか? CoreDataはMOC間で使用します)?

  2. 一部のデータ(画像など)を読み取り、処理(サムネイルの作成など)を実行してデータベースに書き込むバックグラウンドタスクがあったが、UIを直接/即時に更新しない場合、このアプローチは正しいと思いますか?更新は不必要にメインコンテキストを通過し、したがってメインスレッドを通過し、UIのパフォーマンスに影響を与えるため、どちらも適切ではありません。

4

0 に答える 0