iOS9的 NSURLSession
2015-10-08 19:27
309 查看
鉴于更新到Xcode7.0后,基本NSURLConnection的方法废的废,删的删,很明显,苹果应该是不建议用NSURLConnection了,好吧,我这么乖,那咱们就研究研究NSURLSession
Session,字面意思就是会话,与大多数网络API一样,NSURLSession API是异步的。如果我们使用系统提供的代理,我们必须提供一个请求完成处理block,以便在请求成功或失败时返回数据给我们的应用。如果我们提供自定义的代理对象,则任务对象调用这些代理方法,并回传从服务端获取的数据(如果是文件下载,则当传输完成时调用)。
这么一大段话告诉我们
Session好用,独立,安全
先介绍下
session的类型(由创建会话时的配置对象确定)
任务的类型
当任务创建时应用是否在前台
三种会话类型:(了解就好)
默认会话:行为与其它下载URL的Foundation方法类似。使用基于磁盘的缓存策略,并在用户keychain中存储证书。
短暂会话(Ephemeral sessions):不存储任何数据在磁盘中;所有的缓存,证书存储等都保存在RAM中并与会话绑定。这样,当应用结束会话时,它们被自动释放。
后台会话(Background sessions):类似于默认会话,除了有一个独立的进程来处理所有的数据传输。
在一个会话中,NSURLSession支持三种任务类型
数据任务:使用NSData对象来发送和接收数据。数据任务可以分片返回数据,也可以通过完成处理器一次性返回数据。由于数据任务不存储数据到文件,所以不支持后台会话.这个一般用来处理小数据,json呀,xml呀,图片呀之类的,只要不做上传下载,都用这个,应该上传头像也是用这个,我也是新学,
Session,字面意思就是会话,与大多数网络API一样,NSURLSession API是异步的。如果我们使用系统提供的代理,我们必须提供一个请求完成处理block,以便在请求成功或失败时返回数据给我们的应用。如果我们提供自定义的代理对象,则任务对象调用这些代理方法,并回传从服务端获取的数据(如果是文件下载,则当传输完成时调用)。
先看一下这两者的区别
与NSURLConnection相比,NSURLSession最直接的改善就是提供了配置每个会话的缓存,协议,cookie和证书政策(credential policies),甚至跨应用程序共享它们的能力。这使得框架的网络基础架构和部分应用程序独立工作,而不会互相干扰。每一个NSURLSession对象都是根据一个NSURLSessionConfiguration初始化的,该NSURLSessionConfiguration指定了上面提到的政策,以及一系列为了提高移动设备性能而专门添加的新选项。这么一大段话告诉我们
Session好用,独立,安全
先介绍下
session的类型(由创建会话时的配置对象确定)
任务的类型
当任务创建时应用是否在前台
三种会话类型:(了解就好)
默认会话:行为与其它下载URL的Foundation方法类似。使用基于磁盘的缓存策略,并在用户keychain中存储证书。
短暂会话(Ephemeral sessions):不存储任何数据在磁盘中;所有的缓存,证书存储等都保存在RAM中并与会话绑定。这样,当应用结束会话时,它们被自动释放。
后台会话(Background sessions):类似于默认会话,除了有一个独立的进程来处理所有的数据传输。
在一个会话中,NSURLSession支持三种任务类型
数据任务:使用NSData对象来发送和接收数据。数据任务可以分片返回数据,也可以通过完成处理器一次性返回数据。由于数据任务不存储数据到文件,所以不支持后台会话.这个一般用来处理小数据,json呀,xml呀,图片呀之类的,只要不做上传下载,都用这个,应该上传头像也是用这个,我也是新学,
相关文章推荐
- 为固定高度的网页元素添加 iOS Safari 滚动「惯性效果」的方法
- iOS开发Provisioning profile解析
- IOS读取图片(转载)
- iOS效果 :(1) CALayer 图层阴影,边框,圆角,圆型图片的阴影
- iOS NSString 字符串处理:截取字符串、匹配字符串、分隔字符串、拼接字符串、替换字符串
- nagios4.1.1 服务端及监控端部署(二)之pnp4nagios 配置出图
- iOS异步加载缓存图片
- iOS:对GCD中 同步、异步、并行、串行的见解
- ios开发,javascript直接调用oc代码
- xcode生成的IOS安装文件的位置
- iOS自适应(代码) 简单介绍一下
- iOS开发知识001
- Xamarin.Ios 下拉菜单,多选,键盘弹出功能
- iOS---iOS9中获取通讯录的方法:Contacts. framework简单使用
- iOS Reverse Engineering Part One: Configuring LLDB
- iOS9 新特性 - Search APIs
- iOS开源库和完整应用
- 详解在IOS后台执行
- [iOS]转:iOS最佳实践
- 升级Xcode7、iOS9之后,如何应对一些奇葩的bug