首页 > 代码库 > 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]