检查URL请求是否已在NSOperationQueue中

时间:2012-06-21 21:20:28

标签: iphone objective-c ios ipad nsoperationqueue

我有一个NSOperationQueue,它接受​​了一堆操作下载请求。问题是如何检查NSOperationQueue上是否已有特定网址?因为如果它在队列中存在,我不想再将它排队。

1 个答案:

答案 0 :(得分: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。