0

Facepalm。Githubイメージダウンローダーを使用してリモートイメージを表示しています。これはSDWebImageです。私はこれで1時間半遊んでいますが、どうやら完全に迷子になっているようです。誰かがこれを理解するのを手伝ってくれたら、永遠に感謝します。

したがって、基本的に、フレームワークのSDImageCache.hファイルでは、1週間画像をキャッシュするように設定されています。画像がすでにキャッシュされている場合はダウンロードされないため、画像を頻繁に更新しようとしている場合は問題があります。

Stack Overflowで、同じ問題を抱えている人をたくさん見つけましたが、これまでのところ、解決策は機能していません。幸いなことに、これを思いついた人は、画像キャッシュを空にするための解決策を投稿しました。「[SDWebImageManager.sharedManager.imageCacheclearMemory]」を呼び出します。

そのメソッドをメインビューコントローラーの.mファイルに入れて、イメージを呼び出した後にキャッシュをクリアして更新することを期待しています。サイコロはありません。ViewDidLoadの前にも試してみましたが、画像がクリアされてダウンロードが開始されることを期待しています。二度と運がない。

私が間違っていることについて何かアドバイスはありますか?これが私の実装ファイルのスクリーンショットです。これは私を狂わせています。ありがとう!

http://i.imgur.com/pETYL.png

4

2 に答える 2

1

誰かがこの検索を見つけた場合に備えてフォローアップするだけです。この問題を修正するには、SDWebImageパッケージ全体がフレームワークフォルダーに移動されていることを確認します。

その時点で、WebImageCache.mファイルを見つけて、特定のキャッシュのニーズに合わせて調整できます。

さらに、Githubで同じプロジェクトを見ると、SDWebImageManagerを使用してユーザーがキャッシュをクリアできるようにする「キャッシュのクリア」バーを実際にインストールできます。私の特定の例では、それは非常に役に立ちました。

幸運を!

于 2013-01-22T02:47:47.827 に答える
0

2012年または2013年のことはわかりませんが、今日は、たとえばSDWebImageRefreshCached(HTTPヘッダーを尊重し、画像が既にキャッシュされているか、同じURLを使用している場合でも、画像を更新する)またはSDWebImageCacheMemoryOnly(実行する)などのオプションを渡すだけで呼び出すことができます。ディスクにキャッシュせず、メモリにのみキャッシュ)

例:

NSString *string = @"http://example.com/image.jpg";
[self.customImageView setImageWithURL:[NSURL URLWithString:string]
                     placeholderImage:nil
                              options:SDWebImageRefreshCached
                             progress:nil
                            completed:nil]
于 2015-05-21T14:57:58.670 に答える