0

SDWebImageフレームワークを使用して、iPhoneゲームのプロファイル画像をダウンロードしています。

[cell.playerImage setImageWithURL:url placeholderImage: DefaultImage]; 

これはうまく機能しますが、サーバーのパフォーマンスが心配です。tableViewがリロードされるたびに、すべてのセルが上記のコードを呼び出して画像の取得を試みます。そして、tableViewはかなり頻繁に再ロードされます。

ほとんどのプレーヤーはプロファイル画像を持っていないため、DefaultImageが設定されますが、対戦相手のプレーヤーがprofileImageをアップロードしたかどうかを時々確認したいので、取得できますが、tableViewのリロードごとに取得することはできません。 。

これをどのように行いますか?

前もって感謝します

4

1 に答える 1

1

サーバーから playername.png または playerID.png という名前の画像を初めて要求したときに、プレーヤーの画像をドキュメント ディレクトリに保存します (そのために必要な一意の値は異なります)。

SDWebImage setImageWithURL のメソッドで、次のロジックを追加します。

if([[NSFileManager defaultManager] fileExistsAtPath:@"Your Player Image Path"])  
{
    // set image from local Path
}
else
{
   //request from server
   // save image in document Directory and then set that image
}
于 2012-08-09T05:32:25.420 に答える