2011-07-19 15 views
1

私は、内蔵の写真アプリに似たiPadアプリケーションを開発しています。私は画像を読み込むためにNSThread detachNewThreadSelectorを使用して、12時から6時までのローディング時間を削減することができましたが、それでも私の期待には達していません。私は、フォルダに20枚の画像があるとすると、画像をロードするために20本のスレッドが作成されていると考えられます。今度は、一度に5つのスレッドに制限することを考えています。次のスレッドグループは、前の5つのイメージがロードされた後にのみ開始されます。誰かが私にこのことを教えることができますか?どうもありがとう!非同期画像読み込み

答えて

3

私は長くはありません。このexample from Appleを深く見てください。あなたは光を見るでしょう。

3

これはNSOperationQueueの完璧な仕事のようです。

まず、NSOperationQueueを作成して構成し、それをivarまたはグローバル変数に保存します。次に、detachNewThreadSelector:toTarget:withObject:を使用する代わりに、同じセレクタ、ターゲット、およびオブジェクトを使用してNSInvocationOperationを作成し、キューに追加します。キューは、スレッドが利用可能になるとバックグラウンドスレッドのプール上で操作を開始することを処理します。

関連する問題