iphone - 检查URL请求是否已在NSOperationQueue中

标签 iphone objective-c ios ipad nsoperationqueue

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

相关文章:

ios - 像 Chanel 应用程序一样自定义 Collection View 布局

iphone - MPMoviePlayer 标准接口(interface)播放/暂停状态反射(reflect)问题

ios - ios如何在微信中接收消息?

iphone - -[GTMHTTPUploadFetcher connectionDidFinishLoading :] 中的断言失败

iphone - Avfoundation - 同时播放和录制视频(以及音频和预览)

iphone - 自定义 UIButton 的不透明度

使用 UIwebview 显示使用 google maps api 的网页时,iOS 7 和应用程序崩溃

ios - iOS 设备上的通话记录

iphone - 从 View B 移回 View A 时如何重置屏幕方向?

objective-c - Grand Central Dispatch vs NSThreads?