2016-04-08 12 views
1

私が理解しているように、NSAsynchronousFetchRequestは、標準NSFetchRequestのラッパーであり、バックグラウンドスレッドでの非同期実行、キャンセルおよび進捗レポートと、実行中にコンテキストがブロックされないという追加ボーナスを提供します。NSFetchRequestの代わりに常にNSAsynchronousFetchRequestを使用する必要がありますか?

私は何かが見当たりませんでしたか?NSAsynchronousFetchRequestsを使用して "プレーン"を使用することをお勧めしますか?

答えて

0

バックグラウンドデータロードのためにコアデータスタックが既に設定されていて、主なスレッドコンテキストではほとんどの作業がバックグラウンドにあり、UIフェッチは非常に単純なので、非同期フェッチを使用する必要はありません。

新しいスタックを設定していて、UIフェッチ処理が複雑になる場合は、リクエストごとに多数のデータをフェッチしてポストする必要があるため、非同期フェッチが役に立ちます。

これは本当にあなたがやっていることに依存しており、単一のルールはありません。 UIフェッチがパフォーマンス上の問題を引き起こしている場合は、その問題を回避するために非同期に切り替える候補になります。ユーザーが積極的に何か他のことをやっている間にフェッチを実行できるのであれば、そのUIも良い候補です。しかし、ユーザーが単純なフェッチの結果を待っている場合、おそらくそれは価値がありません。

関連する問題