1

たくさんNSOperationQueueの操作ダウンロードリクエストを受け取るものがあります。問題は、特定のURLがすでに存在するかどうかを確認するにはどうすればよいNSOperationQueueですか?それがキューに残っている場合、私はそれを再びキューに入れたくないからです。

4

1 に答える 1

3

サブクラス化NSOperationして(まだ行っていない場合)、URLサブクラスにプロパティを追加し、追加しようとしているURLを使用した操作がすでにキューにあるかどうかを確認できます。

if (![[queue.operations valueForKey:@"URL"] containsObject:myURL]) {
   //add operation...
} else {
   //operation with this URL is already in the queue...
}

多くの操作が行われている場合はNSMutableSet、メンバーシップテストの効率が高いURLを個別に追跡することをお勧めします。次に、操作の完了時にセットからURLを削除する必要があります。

于 2012-06-22T08:06:19.727 に答える