2011-07-14 33 views
0

操作に問題があります。 NSOperationQueueに操作を追加して実行したとき、配列結果に追加するメソッドがあります。これは私の方法である:NSOperationQueue操作の優先度

- (void)loadPostImageWithDictionary:(NSDictionary*)dict 
{ 
NSData *tmpImageData = [[NSData alloc] initWithContentsOfURL: 
         [NSURL URLWithString: [dict 
    objectForKey:@"picture"]]]; 
UIImage *image=[[UIImage alloc] initWithData:tmpImageData]; 
[userPostImage addObject:image]; 
[image release]; 
} 

そして、いくつかの操作が早期に実行している場合 - 結果は、アレイに追加します。しかし、私は操作が、それらを追加した順に実行される必要があります。助けてください。

+1

NSDictionaryに要素を追加して解決しました。 – LightNight

答えて

0

[NSOperationQueue setMaxConcurrentOperationCount:1]メソッドを使用すると、一度に1つの操作しか実行できず、別のスレッドでシリアルキューを効果的に作成できます。

あなたのコードが特定の順序で実行されているオペレーション(マルチスレッドでは、最初は本当にうまく設計されていない)に依存する場合、なぜ辞書の配列を1回の操作に渡すだけで、それはすべてのイメージをダウンロードし、デリゲートメソッドでイメージの配列を返しますか?