1

DBでのマルチスレッドアクセスについて何か読んだのですが、非同期ネットワークのダウンロードと組み合わせて読み取り/書き込みを行うための最善の方法がまだわかりません。たとえば、Webからの画像を含むページがあるので、AFNetworkingを使用してURLで画像を取得していますが、最初にDBをチェックして、取得した画像を将来使用するために書き込みます。UIをブロックせずに(スクロールするときのように)それを行うための最良の方法は何でしょうか?読み取り/書き込みを行うシングルトンでこれを行うと、メインスレッドがブロックされます。そのためのヒントをありがとう。

4

1 に答える 1

3

AFNetworkingはそのためのツールではありません。代わりに、-特にPeterSteinbergerのSDURLCacheのフォークの組み込み機能を利用NSURLCacheできます

-applicationDidFinishLaunchingWithOptions:NSURLCache +setSharedCache:のインスタンスを使用しますSDURLCache(ある程度のディスクスペースが割り当てられています)。キャッシュをチェックするためにリクエストが行われる前に、UIWebView(さらに言えば)を介して行われたすべてのリクエストAFNetworkingは自動的にルーティングされます。NSURLCache目立たず、ドロップインであり、キャッシュディレクティブに正しく従うため、問題を非常にうまく解決できるはずです。

于 2012-01-16T23:42:54.470 に答える