首页 > 代码库 > URLSession sessionWithConfiguration:config delegate:self delegateQueue:[NSOperationQueue mainQueue]

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]];

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