草庐IT

nsoperationqueue

全部标签

ios - 为什么我的 NSOperationQueue 在暂停时不停止执行?

我有一个运行的循环,在每次迭代中,我都有一个要在NSOperationQueue上运行的block。底层队列是串行的。这个循环可以添加数百个可能长时间运行的block任务。当我设置m_opQueue.suspended=YES时,block仍将继续执行。我很清楚单个block不能在中间停止,但我预计暂停NSOperationQueue将不会执行下一个操作,直到suspended为false。任何人都可以解释我是否错了或者我如何实现我想要的?dispatch_queue_tindex_queue=dispatch_queue_create("someQueue",DISPATCH_QUE

ios - NSOperationQueue : Trouble understanding the order

这个问题在这里已经有了答案:NSOperationQueueserialFIFOqueue(3个答案)关闭8年前。我无法理解NSOperationQueue的工作方式。假设我有:NSOperationQueue*queue=[[NSOperationQueuealloc]init];queue.maxConcurrentOperationCount=1;[queueaddOperationWithBlock:^{[someObjectsomeSelector];}];[queueaddOperationWithBlock:^{[someObjectanotherSelector];}]

objective-c - 在附加到 NSOperationQueue operationsCount 的 observeValueForKeyPath 中崩溃

我的UIView子类中有UITextViewlogView(尝试了atomic和nonatomic)和NSOperationQueueuploadQueue属性.我在我的NSOperationQueue属性的operationsCount上添加了KVO,如下所示:[[selfuploadQueue]addObserver:selfforKeyPath:@"operationCount"options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld)context:NULL];观察者函数如下所示:-(void)obse

ios - 当应用程序进入后台时继续运行 NSOperationQueue

我正在使用NSOperation(s)下载文件并将它们添加到NSOperationQueue。NSOperationQueue在应用进入后台时被挂起。如果队列不会在后台暂停并开始下一个操作,是否有任何解决方法? 最佳答案 当您的队列正在运行时,使用UIApplicationbeginBackgroundTaskWithExpirationHandler调用启动后台任务,以保持您的下载运行。我通常用它自己的beginBackgroundTaskWithExpirationHandler调用来结束每个操作,并在我调用endBackgro

iphone - 带定时器的 NSOperationQueue

我想使用一个内部有计时器的NSOperationQueue。例如-我下载了1个元素(完成第一个NSOperation)然后我想等待3秒before编译器继续下一个操作。在第二个NSOperation完成后,我希望它等待同样的3秒,然后开始第3个操作。如何实现这种行为?我以前没有使用NSTimer或NSRunLoop的经验,我不确定是否应该使用它们。提前致谢。 最佳答案 只要操作在后台线程中执行;您可以将maxConcurrentOperationCount设置为1,并在您的操作block中使用sleep(3)3秒。

ios - AFNetworking setUploadProgressBlock 不正常直接达到 100%

我正在使用AFNetworkingFramework来促进将照片上传到网站。上传工作正常,但我需要在UIProgressView中显示进度。问题是,上传开始后进度从0%左右每秒移动到100%,并在一段时间内停留在100%,具体取决于上传的照片数量。我使用单个请求一次上传1到6张照片。对这里发生的事情有什么想法吗?AFNetworking不包括照片的尺寸吗?它在NSLOG中正确显示:2012-04-0310:49:45.498PhotoUp[3689:2207]Sent32768of217931bytes2012-04-0310:49:45.499PhotoUp[3689:2207]Se

ios - 在 NSOperationQueue 线程中运行 NSTimer

我正在尝试在NSOperationQueue设置的线程上运行NSTimer-(void)apiCallbackQueueManager:(NSString*)callid:(NSString*)service:(NSString*)action:(NSString*)data{SELtheSelector=@selector(apiCallbackQueueTimer:service:action:data:);NSMethodSignature*sig=[selfmethodSignatureForSelector:theSelector];NSInvocation*theInvoc

iphone - 为什么要使用 NSOperationQueue?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。1)为什么要使用NSOperationQueue?2)我们使用它有什么好处?3)是否可以同时通过NSOperationQueue实现多个同步的web操作?4)为什么我们在UITableView的延迟加载中使用NSOperationQueue?如果没有NSOperationQueue是不可能做到的吗?

ios - 如何在 swift 4 中执行两个并发 API 调用

在此先感谢您的帮助,我有两个API调用,都是并发的,任何调用都可能先成功(我不想按顺序调用),在两个调用成功后,我必须停止我的事件指示器并重新加载我的tableView,这是我的代码,但我不知道这是否正确以及如何重新加载我的tableView和停止我的事件指示器。funcdownloadDetails(){letoperationQueue:OperationQueue=OperationQueue()letoperation1=BlockOperation(){WebServiceManager.getAData(format:A,withCompletion:{(data:Any?

iphone - NSOperationQueue 并发操作与新线程开始内部操作

我刚开始使用NSOperation/NSOprationQueue,所以请原谅我问这个问题。:P在我的应用程序开始时,我希望在队列中执行一些功能集,这样当一个结束时,另一个开始(我已将setMaxConcurrentOperationCount设置为1这样只有一个操作一次发生)。一切都应该在后台发生,因为它是一种信息服务器的下载/上传。我将第一个操作放在队列中,它调用另一个方法,该方法可能会调用一些新线程来执行一些其他操作。我的问题是,在开始第二个操作之前,操作队列是否会等待第一个操作中启动的所有方法/线程完成? 最佳答案 有两种N