外部データ ソースを使用する iPhone 用の Core Data アプリケーションを作成しようとしています。オブジェクトを永続化するために Core Data を実際に使用しているのではなく、オブジェクトのライフサイクル管理のために使用しています。Core Data をローカル データに使用する方法についてはかなり良いアイデアがありますが、リモート データでいくつかの問題に遭遇しました。例として Flickr の API を使用します。
まず、最近の写真のリストが必要な場合は、外部データ ソースから写真を取得する必要があります。リストを取得したら、写真ごとに反復して管理対象オブジェクトを作成する必要があるようです。この時点で、コードを続行し、標準の Core Data API を使用してフェッチ リクエストを設定し、犬などの写真のサブセットを取得できます。
しかし、続けてユーザーの写真のリストを取得したい場合はどうすればよいでしょうか。これら 2 つのデータ セットが交差する可能性があるため、既存のデータに対してフェッチ リクエストを実行し、既存のものを更新してから、新しいオブジェクトを挿入する必要がありますか?
--
古いパターンでは、これらのデータ セットごとに個別のデータ構造を用意し、それらに適切にアクセスするだけでした。recentPhotos セットと usersPhotos セット。しかし、Core Data の一般的なパターンは 1 つの管理対象オブジェクト コンテキストを使用するように思われるため、データをメインのデータ プールとマージする必要があるようです (私が間違っている可能性があります)。しかし、写真のリストを取得するだけでも、かなりのオーバーヘッドがかかるようです。セットごとに別の管理対象オブジェクト コンテキストを作成する必要がありますか? ここでも Core Data を使用する必要がありますか?
Core Data について私が魅力的だと思うのは、以前は (Web サービスの場合) 特定のデータを要求し、要求でフィルター処理するか、コードでフィルター処理して、使用するリストを生成していたことです。Core Data を使用すると、オブジェクトのリストを取得してプールに追加し (必要に応じて古いオブジェクトを更新)、それに対してクエリを実行できます。ただし、このアプローチでわかる 1 つの問題は、オブジェクトが外部から削除された場合、古いデータを保持しているため、それを知ることができないということです。
私はここで基地から離れていますか?リモート データとコア データを処理するために人々が従うパターンはありますか? :) 私は、彼らがそれをやったと言っている人々の投稿をいくつか見つけました。ありがとう。