我有一个NSOperationQueue
,它接受一堆操作下载请求。问题是如何检查NSOperationQueue
上是否已有特定的URL?因为如果队列中有空,我不想再次排队。
最佳答案
您可以对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。
关于iphone - 检查URL请求是否已在NSOperationQueue中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11146930/