Ios NSURLConnection和sendAsynchronousRequest:queue:completionHandler:-完成块是否在主线程中运行

Ios NSURLConnection和sendAsynchronousRequest:queue:completionHandler:-完成块是否在主线程中运行,ios,asynchronous,nsurlconnection,Ios,Asynchronous,Nsurlconnection,如果将NSURLConnection与sendAsynchronousRequest:queue:completionHandler:一起使用,是否需要在完成处理程序中采取任何特殊的预防措施?具体来说,通过NSURLConnection直接异步发送是否与使用dispatch\u async相同/相似,因为完成块需要返回到主线程以与UI交互 例如:在使用dispatch\u async与UI交互(可能是错误的单词)后,应用程序必须使用performSelectorOnMainThread 这是se

如果将
NSURLConnection
sendAsynchronousRequest:queue:completionHandler:
一起使用,是否需要在完成处理程序中采取任何特殊的预防措施?具体来说,通过
NSURLConnection
直接异步发送是否与使用
dispatch\u async
相同/相似,因为完成块需要返回到主线程以与UI交互

例如:在使用
dispatch\u async
与UI交互(可能是错误的单词)后,应用程序必须使用
performSelectorOnMainThread

这是
sendAsynchronousRequest:queue:completionHandler:
的一个考虑因素吗


注意:我发现了类似的问题,但不是这个问题。例如,在indiekiduk中特别指出,它是一个新线程,尽管是一个内部线程——我认为这是有缺陷的,因为我认为它只是在运行循环的末尾——但我仍在学习,可能/可能是错误的。

NSURLConnection sendAsync被安排在AFAIK上线程的运行循环上
因此,在启动该块的线程中调用该块。
NSURLConnection
的文档说明了队列参数to
sendAsynchronousRequest:queue:completionHandler:

队列
请求完成或>失败时处理程序块被调度到的操作队列

该块将在设置传入队列的任何线程上执行