DBでのマルチスレッドアクセスについて何か読んだのですが、非同期ネットワークのダウンロードと組み合わせて読み取り/書き込みを行うための最善の方法がまだわかりません。たとえば、Webからの画像を含むページがあるので、AFNetworkingを使用してURLで画像を取得していますが、最初にDBをチェックして、取得した画像を将来使用するために書き込みます。UIをブロックせずに(スクロールするときのように)それを行うための最良の方法は何でしょうか?読み取り/書き込みを行うシングルトンでこれを行うと、メインスレッドがブロックされます。そのためのヒントをありがとう。
1372 次
1 に答える
3
AFNetworkingはそのためのツールではありません。代わりに、-特にPeterSteinbergerのSDURLCacheのフォークの組み込み機能を利用NSURLCache
できます。
で-applicationDidFinishLaunchingWithOptions:
、NSURLCache +setSharedCache:
のインスタンスを使用しますSDURLCache
(ある程度のディスクスペースが割り当てられています)。キャッシュをチェックするためにリクエストが行われる前に、UIWebView
(さらに言えば)を介して行われたすべてのリクエストAFNetworking
は自動的にルーティングされます。NSURLCache
目立たず、ドロップインであり、キャッシュディレクティブに正しく従うため、問題を非常にうまく解決できるはずです。
于 2012-01-16T23:42:54.470 に答える