jjzjj

dispatching

全部标签

ios - 使用 dispatch_async NSURLSession 调用的结果更新 UILabel

几周前我开始了Objective-C编程,所以我对所有这些部分如何组合在一起以及它们发生的顺序的理解仍然让我感到困惑。我正在尝试使用NSURLSession对我的一个应用程序进行JSONAPI调用。这一切都完美无缺,但我想用返回的一段数据更新标签,每当我查看/尝试更新标签时,我都会得到null。我发现的一些与我的问题类似的SO帖子包括:this,this,this,和this.来自RubyonRails世界,我根本不需要处理异步概念,但我知道我已经很接近了。这里是有问题的相关代码片段:if(!jsonError){NSDictionary*skillBuildData=[NSJSONS

ios - 如果操作未完成,iPhone 应用程序会因 dispatch_async 而崩溃

在我发布的iPhone应用程序中,我使用了dispatch_asyncblock,没有出现任何问题。该应用检查网站的价格更新,解析HTML,相应地更新核心数据模型,然后刷新正在查看的表格。但是,在我最新的应用程序中,我发现我可以通过在价格更新过程运行时切换出应用程序来使应用程序崩溃。第一次和第二次使用之间的区别在我看来只是我从表的refreshController调用调度block(即tableViewController现在是内置的下拉刷新机制),现在是iOS7。任何人都可以向我建议如何在已知条件下优雅地中止dispatch_async,例如用户希望停止进程,或者如果他们像这样切换应

ios - dispatch_async 什么时候真正派发?

假设我有以下代码:dispatch_async(dispatch_get_main_queue()){myFunction()}这表示异步调用调用myFunction的block。假设我在我的主队列中调用此代码,该队列也是为dispatch_async调用指定的队列。在这种情况下,这个block实际上是什么时候被调用的?我当前的队列是否被抢占并且block立即运行,或者当前调用堆栈是否展开并且block在下一个事件循环中被调用?或者是其他东西? 最佳答案 Whendoesthisblockactuallygetcalledinthi

ios - 如何使用 Quartz 2D 和 Grand CEntral Dispatch 以编程方式生成 UIImage

现在我有一个图像正在使用Quartz2D以编程方式在水龙头上生成。我想将它与grandcentraldispatch结合使用,这样它就可以在另一个cpu上创建,并在完成时触发通常的淡入动画。现在我使用这篇文章底部的后续代码,但我收到了这些无效的上下文错误。有没有办法做到这一点,还是我运气不好?CGContextTranslateCTM:invalidcontext0x0CGContextScaleCTM:invalidcontext0x0CGContextSaveGState:invalidcontext0x0CGContextSetCompositeOperation:invalid

ios - vImage 具有与带 dispatch_apply 的普通循环相同的性能

此代码每次都在嵌套循环中运行9600次,并且在iPhone4S上的总运行时间必须低于30毫秒:vImage_Buffersource={sourceArea.data,patchSide,patchSide,patchSide};vImage_Bufferdestination={(uchar*)malloc(patchSide*patchSide*sizeof(uchar)),patchSide,patchSide,patchSide};vImage_AffineTransformtransform={warpingMatrix(0,0),warpingMatrix(0,1),war

objective-c - dispatch_async 比 performSelectorInBackground 慢 :?

在我的应用程序中,我使用performSelectorInBackground:从磁盘加载图像。在使用dispatch_async进行一些单元测试后,我决定用dispatch_async调用替换我的performSelectorInBackground。dispatch_queue_tcurrentBackgroundQueue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0);dispatch_async(currentBackgroundQueue,^{[selfgetImageFromDisk:sPathdeleg

ios - 在重复的 for 循环中对 dispatch_group_leave() 的不平衡调用

我正在使用分派(dispatch)组来获取数据字符串。这是一段代码,我不确定为什么会在这段代码中得到Unbalancedcalltodispatch_group_leave()。varqueue=DispatchQueue(label:"extractStringQueue",attributes:.concurrent)queue.async{letm_group=DispatchGroup()letweeks=self.weekDataArrayforweekinweeks{fordayinweek.dayDataArray{m_group.enter()day.processSt

ios - 如何在前一个 dispatch_async 完成时执行第二个 dispatch_async?

我想按顺序添加一个dispatch_async,但我不希望它们随机启动。我想举个例子:dispatch_async1开始...dispatch_async1结束。dispatch_async2开始...dispatch_async2结束。dispatch_async3开始...dispatch_async3结束。我需要更新一个sqlite,第一次调度中的信息对于第二次调度是必需的...-(void)connectionDidFinishLoading:(NSURLConnection*)connection{NSLog(@"%@",[connectioncurrentRequest])

iphone - dispatch_async 是否在 for 语句中有什么区别

我想知道在以下表示为“A”和“B”的方法中使用dispatch_async之间有什么区别。Adispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{for(inti=0;iBfor(inti=0;i 最佳答案 语句A产生一个新任务,它恰好包含一个循环。语句B产生10个新任务,其中部分或全部任务可能要等到for循环完成后才能完成。 关于iphone-dispatch_async是否在for语

ios - 为什么 dispatch_async 不好?完成相同任务的更好方法是什么?

dispatch_async(dispatch_get_main_queue(),^{[self.teamNamebecomeFirstResponder];});我和一个friend聊天,他告诉我他听说使用dispatch_async不是很好,但他不确定为什么。我在谷歌上查了下,没有发现这段代码错误的原因我如何改进这段代码?有没有更好的方法来做到这一点?注意:我还在学习iOS编程,所以我对这整件事都是陌生的。 最佳答案 您的friend错误地认为dispatch_async是“坏的”。但是要求另一个处理器做像becomeFirst