0

私はコア データを使用しておりNSManagedObjectContext、モデルのサブクラスを持っています。

オンviewDidLoad:

  1. コアデータから取得しようとしています。

  2. また、ネットワーク呼び出しを開始します。成功すると、モデル オブジェクトがコア データに保存され、再度フェッチして UI を更新します。

私が直面した問題viewDidLoadは、データを何度も追加したそれぞれにあります。つまり、n/w 呼び出しから 4 つの結果がある場合、ビューを 2 回目にロードした場合、同じ 4 つの結果が 2 セットあることになります。の上。

ネットワークで取得した結果を保存する前に、手動で重複をチェックすることでこれを回避しました。

これはクリーンなアプローチではないと思います。また、フェッチをより効率的にするためにNSFetchedResultsControllerforを使用したいと考えています。UICollectionView

NSFetchedResultsControllerとにかく問題を回避するためにヘルプを使用しますか?

また、コア データのAFIncrementalStoreまたはSSDataKitラッパーを試した人はいますか? どちらが良いかについての提案はありますか?

4

1 に答える 1

0

使用できる場合は、RestKitが代わりに行います。でも、やることは基本的に同じです。重複チェックを迅速に行うためのキャッシュ オプションがいくつか用意されていますが、それでもどこかでチェックが必要です。

FRCが重複チェックにどのように役立つと思うかわかりません. フェッチ要求を使用して、適切な識別属性のみを含む辞書結果を取得することができますが、完全な FRC は含まれません。

Core Data 自体には「重複」という概念はありません。推奨事項については、Apple のドキュメント セクション「効率的な検索または作成の実装」を参照してください

于 2013-06-11T19:14:08.633 に答える