苹果的官方文档是这么介绍NSURLSession这个类的:
NSURLSession is a replacement API for NSURLConnection. It provides options that affect the policy of, and various aspects of the mechanism by which NSURLRequest objects are retrieved from the network.
NSURLSession是一个抽象类,它有三个具体的子类
- NSURLSessionDataTask:获取数据,比如JSON或XML
- NSURLSessionUploadTask:上传文件
- NSURLSessionDownloadTask:下载文件
为什么使用NSURLSession?
NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConnection是并列的。在程序在前台时,NSURLSession与NSURLConnection可以互为替代工作。注意,如果用户强制将程序关闭,NSURLSession会断掉。
NSURLSession提供的功能
- 通过URL将数据下载到内存
- 通过URL将数据下载到文件系统
- 将数据上传到指定的URL
- 在后台完成上述功能
工作流程
- 后台上传和下载
- 能够暂停和恢复网络操作
- Configurable container
- Subclassable and private storage
- Improved authentication handling
- Rich delegate model
- Uploads and downloads through the file system