果的官方文档是这么介绍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.
62317-a697ea5f7e9554f9.png
NSURLSession
62317-51c6079455fca44d.png
NSURLSession
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
NSURLSession vs NSURLConnection |