在iOS 8.4.1 Cocoa Touch应用程序中,我有这样的代码:
dispatch_after(dispatch_time(...),dispatch_get_main_queue(),block);
我惊讶地发现'阻止'正在主线程以外的线程上运行。我之前的理解是在这个上下文中使用dispatch_get_main_queue()保证了块将在主线程上运行。 Apple文档指出,对于主队列,"任务在应用程序的主线程上串行执行,因此我不了解这种行为与文档的一致性。有人可以解释这种行为,或者指出一些文件吗?谢谢。
答案 0 :(得分:0)
Duh,没关系,毕竟它在主线上。我在另一个线程上查看一些记录的堆栈帧时被骗了。