0

バックグラウンド スレッド内で呼び出されるメソッドが多くの異なるNSManagedObjects を必要とする場合、Core Data と GCD をどのように使用できますか? 呼び出し元として、サブ呼び出しでどのオブジェクトが必要になるかを理解していない可能性がありますか?

多くの管理対象オブジェクト、日付、ステータスなどのヘルパー メソッドを使用した、複雑なダウンロード、解析、および保存手順を考えてみてください。GCD でバックグラウンド スレッドを開始すると、新しいスレッドNSManagedObjectContextが必要になります。しかし、すべてのサブメソッドが必要とする管理対象オブジェクトを特定することはできません。では、たとえば単にNSDate違いを伝えるために、すべてのヘルパー メソッドにコンテキストを渡す必要がありますか?

コード行を爆破しない簡単なアプローチはありますか?

4

1 に答える 1

0

コードを爆破しないという法案に適合する可能性のある1つのアプローチは、さまざまなバックグラウンドスレッドでデータを受信し、すべてを辞書にコーディングすることです。転送形式としてJSONを使用する場合、それは非常に数行のコードになります。

次に、すべてをメインスレッドのブロックに渡して、管理対象オブジェクトを作成し、管理対象オブジェクトコンテキストに挿入できます。繰り返しになりますが、シングルスレッドソリューションと比較すると、オーバーヘッドはそれほど大きくありません。

于 2012-06-11T14:06:07.873 に答える