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...
}

如果您有很多操作正在进行,您可能希望单独跟踪 URL,NSMutableSet这样对成员资格测试更有效。然后,您必须在操作完成时从集合中删除 URL。

于 2012-06-22T08:06:19.727 回答