标签:
NSURLSession这个类和与其有关联的其他类,提供一个通过HTTP下载的API。这个API提供丰富的代理方法可以让你的app在挂起或者没有运行的时候,在后台下载。
用NSURLSession API,你的app可以创建一系列的session,每一个session协调一组关联的数据转存任务。举个例子:你在协议一个网络浏览器,你的app可以创建为每个tab或每个window创建一个session。在每个session中,你的app添加一系列的任务,每一个任务代表一个指定URL的请求。
三种类型session:default session,其行为跟NSURLSession想象,ephemeral session不在disk上做缓存,download session 它把结果存在一个文件中,并且在app挂起、退出、崩溃的时候仍然继续转存数据。
在这些session中,你可以安排三种类型的任务:data task 获取数据到内存,download task下载一个文件到磁盘,upload task上传一个文件并且在内存中接收相应。
像大多数的网络API一样,NSURLSession是高度异步的,它根据你调用的方法,用一种或两种方法返回数据:
NSURLSession的API除了传送信息给代理,也提供状态和过程属性。支持取消、重新开始、继续、挂起任务,并且有继续 挂起、取消或者失败的下载的能力。
URL Sessioin Class Hierarchy
NSURLSession API包括下面这些类:
除此之外,NSURLSession的API提供了四个协议,你的app可以实现它们的代理方法以对session和task的行为进行更颗粒化(精细)的控制。
最后,NSURLSession的API用许多类,这些类也经常和其他API一起用(比如NSURLConnection和NSURLDownload)。
NSURLSession API需要许多不同的类用相当复杂的方式一起工作,在用之前还是应该看看the URL Loading System来理解这些类之间是怎么交互的。
原文: NSURLSession Class Reference
标签:
原文地址:http://www.cnblogs.com/xjshi/p/4379221.html