2012-01-13 12 views
1

DB上のマルチスレッドアクセスについては何かを読んでいますが、非同期ネットワークダウンロードと併用して読み書きを行う最良の方法はまだありません。 たとえば、Webからの画像を含むページがあるので、AFNetworkingを使用してURLで検索していますが、私のDBで最初にチェックし、後で使用するために取り出した画像をディスク(またはディスク)に書きたいと思います。 (スクロールするときなど)UIをブロックすることなくこれを行う最善の方法は何ですか? これを読んだ/書いたシングルトンで実行すると、メインスレッドがブロックされます。 それについてのヒントありがとう。コアデータをAFNetworkingのブラウザキャッシュとして使用

答えて

3

AFNetworkingはそのためのツールではありません。代わりに、NSURLCache - 具体的にはPeter Steinberger's fork of SDURLCacheの組み込み機能を利用できます。 -applicationDidFinishLaunchingWithOptions:

、(割り当てられたディスク・スペースのある量で)SDURLCacheのインスタンスとNSURLCache +setSharedCache:を行います。 UIWebView(およびそれに関してはAFNetworking)によって行われたすべてのリクエストは、キャッシュのチェックが要求される前に自動的にNSURLCacheを経由してルーティングされます。それは邪魔にならず、ドロップインし、キャッシュ指示に正しく従います。あなたの問題をきちんと解決するはずです。

+0

ありがとうございました。私はSDWebImageも見つけました。 UIImageViewとディスクキャッシュにも同じカテゴリがあります。 AFNetworkingでのディスクキャッシングは素晴らしいでしょう。 –

関連する問題