2011-12-29 4 views

答えて

0

いいえ、NSOperationQueueは、アプリをバックグラウンドに移動しても機能しません。方法beginBackgroundTaskWithExpirationHandlerを使用して、これを明示的に処理する必要があります。

これはTechnical Note TN2277 - Networking and Multitasking

に覆われているが、iOS App Programming Guideもアプリケーションの状態とマルチタスキングに特にセクションを参照してください。

代わりに、AFNetworkingライブラリを使用することをお勧めします。それはあなたのためにこの機能の多くを処理します。具体的には、各クラスはNSOperationのサブクラスです。

さらに、すでにイメージダウンローダクラスがAFImageRequestOperationにあります。それはあなたにとって非常に便利なはずです。 AFImageRequestOperationAFURLConnectionOperationのサブクラスなので、メソッドsetShouldExecuteAsBackgroundTaskWithExpirationHandlerにアクセスできます。

もちろん、これはすべてマルチタスクに関するものなので、iOS 4.0以降でのみ使用できます。

+0

ASIHttpを使用することも可能ですが、バックグラウンドでのダウンロードの実装方法を知りたいと思います。 – Satyam

+0

Asihttpはサポートされなくなったので、私はそれを避けます。 AFNetworkingが最適です。 –

+0

ASIHttpとAFNetworkingのどちらが開発されていますか?彼らが使っているクラス/フレームワークは何ですか? – Satyam

関連する問題