DB上のマルチスレッドアクセスについては何かを読んでいますが、非同期ネットワークダウンロードと併用して読み書きを行う最良の方法はまだありません。 たとえば、Webからの画像を含むページがあるので、AFNetworkingを使用してURLで検索していますが、私のDBで最初にチェックし、後で使用するために取り出した画像をディスク(またはディスク)に書きたいと思います。 (スクロールするときなど)UIをブロックすることなくこれを行う最善の方法は何ですか? これを読んだ/書いたシングルトンで実行すると、メインスレッドがブロックされます。 それについてのヒントありがとう。コアデータをAFNetworkingのブラウザキャッシュとして使用
1
A
答えて
3
AFNetworkingはそのためのツールではありません。代わりに、NSURLCache
- 具体的にはPeter Steinberger's fork of SDURLCacheの組み込み機能を利用できます。 -applicationDidFinishLaunchingWithOptions:
で
、(割り当てられたディスク・スペースのある量で)SDURLCache
のインスタンスとNSURLCache +setSharedCache:
を行います。 UIWebView
(およびそれに関してはAFNetworking
)によって行われたすべてのリクエストは、キャッシュのチェックが要求される前に自動的にNSURLCache
を経由してルーティングされます。それは邪魔にならず、ドロップインし、キャッシュ指示に正しく従います。あなたの問題をきちんと解決するはずです。
ありがとうございました。私はSDWebImageも見つけました。 UIImageViewとディスクキャッシュにも同じカテゴリがあります。 AFNetworkingでのディスクキャッシングは素晴らしいでしょう。 –