URLSession sessionWithConfiguration:config delegate:self delegateQueue:[NSOperationQueue mainQueue]

NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];

        

        /**

         参数

         1. 配置

         2. 代理

         3. 代理工作的队列 - 代理的执行工作可以不再一个线程上

            [NSOperationQueue mainQueue] 代理在主线程上工作

            nil - 代理异步工作

            [[NSOperationQueue alloc] init] - 代理在异步工作

         

         注意:URLSession 本身的网络操作是异步的,无论指定什么队列,都是在异步执行的

         - 在此指定的代理的工作队列,表示发生网络事件后,希望在哪一个线程中工作!

         

         队列的选择依据与 NSURLConnection 异步的队列选择依据相同!

         -如果完成后需要做复杂(耗时)的处理,可以选择异步队列

         -如果完成后直接更新UI,可以选择主队列

         

         强调:session本身工作的线程,与代理工作的线程是不一样的

         */

        _session = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:[NSOperationQueue mainQueue]];

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。