Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 这两个异步请求之间有什么不同?_Ios_Swift_Asynchronous_Request - Fatal编程技术网

Ios 这两个异步请求之间有什么不同?

Ios 这两个异步请求之间有什么不同?,ios,swift,asynchronous,request,Ios,Swift,Asynchronous,Request,及 我看到一个特定于urlRequests,但是否也可以使用dispatch_async函数从URL获取数据,然后以异步方式执行与UI相关的操作 提前感谢, Ace正如您所说,NSURLConnection方法专门用于发送异步请求,并在更高的抽象级别上运行。这意味着很多繁重的工作都是在幕后为你做的 此外,在本例中,您所做的是调度您将异步提供的块的调用,但块本身将在主队列上执行,而主队列不是异步的 例如,您可以使用异步请求在后台下载一些东西,然后使用dispatch\u async调用在主队列上执

我看到一个特定于urlRequests,但是否也可以使用dispatch_async函数从URL获取数据,然后以异步方式执行与UI相关的操作

提前感谢,


Ace

正如您所说,NSURLConnection方法专门用于发送异步请求,并在更高的抽象级别上运行。这意味着很多繁重的工作都是在幕后为你做的

此外,在本例中,您所做的是调度您将异步提供的块的调用,但块本身将在主队列上执行,而主队列不是异步的

例如,您可以使用异步请求在后台下载一些东西,然后使用dispatch\u async调用在主队列上执行与UI相关的操作


可以这么说:dispatch_async是相当低级的GCD框架的一部分,可用于各种事情,如在不同队列上调度任意代码块等。

如果您想知道它是否在主线程上调用,可以在sendAsynchronousRequest的处理程序中打印出NSThread.isMainThread()
NSURLConnection.sendAsynchronousRequest 
dispatch_async(dispatch_get_main_queue()) {}