0

iOS 用の Forthsquare のようなアプリを開発しています。コア データを使用して、場所とカテゴリの 2 つのリソースのスキームを準備しています。各場所はカテゴリに属します。各カテゴリには、画像 (ホテル、レストランなど) へのリンクを含む *image_url* フィールドがあり、マップに表示されるすべての場所がそのカテゴリ画像を注釈マーカーとして使用します。

問題は、選択するアプローチと、これらのリソース間の関係を整理してカテゴリ画像 (*image_url* フィールドから取得) をキャッシュする方法です。これにより、取得する必要なく同じカテゴリを持つすべての場所で再利用できます。指定されたすべての場所がロードされるたびにカテゴリ画像?

iOS と Core Data に慣れていないので、この種のタスクを達成するための良い方法があるかどうか知りたいです。

ありがとう。

4

1 に答える 1

0

同様の状況でアプリで行うことは、いくつかのプロパティをカテゴリに追加することです (画像が「小さい」場合は、画像データをコア データに直接保存するか、ディスクに保存し、「大きい"):

  • bool fetchingImage

  • NSInteger カテゴリ ID

  • url (取得元)

  • imageData または filePath

カテゴリが作成され、URL が割り当てられたら、(バックグラウンドで) 画像をフェッチし、fetchinImage フラグを yes に設定できます。または、最初のオブジェクトが画像を要求するまで待つことができます。この場合、nil を返しますが、フェッチを開始します。

画像が最終的に到着し、このエンティティに設定すると、categorID に画像があることを示す通知がメイン スレッドに送信されます。それを聞いている人は誰でも、画像をリクエストして表示可能にすることができます。

于 2012-09-27T21:34:50.207 に答える