博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];

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

 

主要说一下这个函数参数的意义;

 /**

         参数

         1. 配置 config

         2. 代理 self

         3. 代理工作的队列 必须是NSOperationQueue队列

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

            nil - 代理异步工作

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

         

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

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

         

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

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

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

         

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

         */

例如:

又如: