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