Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 正在检查URL请求是否已在NSOperationQueue中_Iphone_Objective C_Ios_Ipad_Nsoperationqueue - Fatal编程技术网

Iphone 正在检查URL请求是否已在NSOperationQueue中

Iphone 正在检查URL请求是否已在NSOperationQueue中,iphone,objective-c,ios,ipad,nsoperationqueue,Iphone,Objective C,Ios,Ipad,Nsoperationqueue,我有一个NSOperationQueue,它接收一系列操作下载请求。问题是如何检查NSOperationQueue上是否已经有特定的URL?因为如果它已经在队列中,我不想再让它排队。您可以将NSOperation子类化(如果您还没有这样做),将URL属性添加到您的子类中,并检查带有要添加的URL的操作是否已经在队列中: if (![[queue.operations valueForKey:@"URL"] containsObject:myURL]) { //add operation..

我有一个
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