1

Facebook グラフを使用して、ユーザーの画像を iOS アプリにロードしています。画像は、表示するために UIView 内に配置されます。

インターネット接続が利用できない場合、およびインターネットが Facebook から画像を取得するために利用できる場合は、同じ写真を提示したいと思います。

画像を保存するにはどうすればよいですか:

  • NSUserDefaults に?
  • コアデータに?
  • アプリフォルダへ?

後でそれを取得するにはどうすればよいですか?

4

2 に答える 2

1

画像のキャッシュについて話しているのですが、画像がダウンロードされたときに画像を無限に保存することはできないことに注意してください (アプリケーションが最終的に非常に多くのディスク領域を占有する可能性があります)。このすべてのデータ (未使用のデータまたは古いデータのいずれか) をパージするための基準を定義する必要があります。それはあなた次第です。キャッシュの問題に取り組む方法はたくさんあります。Google で検索してみてください。役立つ情報がきっと見つかるはずです。

画像の保存に関しては、UIImage のデータを取得する必要があります (UIImageJpegRepresentationまたはのような関数を使用してUIImagePNGRepresentation)。これらの関数は、NSUserDefaults (画像キャッシュの場所ではない) または Cache ディレクトリ内のファイルに保存できる NSData インスタンスを返します (はるかに優れており、不適切なストレージ プラクティスのためにアプリを拒否する正当な理由を Apple に与えることはありません)。 )。

また、誤って FBProfilePictureView インスタンスでこれらの関数を呼び出そうとしないでください。これは、Facebook がプロフィール写真を表示するために作成した単なるクラスです (実際には、プロフィール画像の UIImageView サブビューを持つ UIView です。この UIImageView 内で、 UIImage 自体)。FBProfilePictureView を UIImage に変換するにはどうすればよいですか?

幸運を

于 2013-01-30T15:28:48.057 に答える