NSURLSession相比NSURLConnection功能更强大,是更上层的网络封装。相比而言,普通应用场景下NSURLSession没有什么优势,但是,在程序切换到后台的情况下,NSURLSession显得很灵活。
1. 功能
通过URL将数据下载到内存
通过URL将数据下载到文件系统
将数据上传到指定URL
在后台完成上述功能
2. 流程
2.1. 配置
NSURLSessionConfiguration,配置工作模式和网络设置
2.1.1. 工作模式
一般模式(default):可以使用缓存的Cache,Cookie,鉴权。
及时模式(ephemeral):不使用缓存的Cache,Cookie,鉴权。
后台模式(background):在后台完成上传下载,创建Configuration对象的时候需要给一个NSString的ID用于追踪完成工作的Session是哪一个(后面会讲到)。
2.1.2. 网络设置
2.2. 创建Session
sessionWithConfiguration:
sessionWithConfiguration:delegate:delegateQueue: