NSURLSession的未来
来源:互联网 发布:淘宝可以开发票吗 编辑:程序博客网 时间:2024/04/25 08:15
Cocoa网络框架的未来:NSURLSession
NSURLConnection大概有10年的历史了,很多api的设计都比较陈旧,否则AFNetworking不会这么火。好在苹果在iOS 7/Mavericks 引入了新的网络类NSURLSession,用以替代NSURLConnection。
新的网络框架设计中,原有的NSURL/NSURLRequest/NSURLResponse这些类及相关概念都得以沿用;除了支持iOS 7的一新新特性(background download/upload),与AFNetworking 1.x很多api设计非常相似。
NSURLSession
- Foundation中NSURLConnection的替代
- 支持后台运行的网络任务
- 暂停、停止、重启网络任务,不再需要NSOperation封装
- 请求可以使用同样的配置容器中
- 不同的session可以使用不同的私有存储
- block和委托可以同时起作用
- 直接从文件系统上传下载
NSURLSessionConfiguration
- defaultSessionConfiguration - 缓存、cookie、证书全局非私有;近似于NSURLConnection
- ephemeralSessionConfiguration - 缓存、cookie、证书全局私有但非持久化(in memory)
- backgroundSessionConfiguration - 适合于应用被挂起或收到remote notification
NSURLSessionConfiguration的一些properties
摘录一些常用的:
- HTTPAdditionalHeaders: HTTP协议头部信息
- allowsCellularAccess/discretionary: 前者允许运营商网络/后者对于后台网络任务进行优化(有WiFi/设备电量情况好的时候)
- timeoutIntervalForRequest/timeoutIntervalForResource: 前者每次有新data到达时重置;后者限制了整个资源请求时长,不要搞混了
- HTTPMaximumConnectionsPerHost: 对于一个host的最大并发连接数
NSURLSessionTask
继承关系如图(image from objc.io)
- 可以发送cancel/resume/suspend消息
- NSURLSessionDataTask - 返回NSData
- NSURLSesssionDownloadTask - 返回(临时)文件,下载进度可以恢复
- NSURLSessionUploadTask - 上传NSData/File/Stream
- Task默认都是挂起的,记得要向task发resume消息
最后附上NSURLConnection to NSURLSession delegate methods Mapping Table by Mattt Thompson
0 0
- NSURLSession的未来
- Cocoa网络框架的未来:NSURLSession
- Cocoa网络框架的未来:NSURLSession
- [iOS NSURLSession] NSURLSession 的简介查阅
- NSURLSession的简单使用
- NSURLSession的简单使用
- iOS NSURLSession的使用
- NSURLSession的工作流程
- 24-NSURLSession的用法
- NSURLSession的用法
- iOS9的 NSURLSession
- NSURLSession的基本使用
- NSURLSESSION的使用
- NSURLSession的使用
- NSURLSession的简单使用
- NSURLSession的应用
- nsurlsession 的基本用法
- nsurlsession 的get用法
- LoadRunner11安装从零指导
- cocos2d-x接受键盘事件,左右键, 多点触摸
- IOS之地图和定位应用开发
- JavaScript中原型的重写
- 一个unsign int 数中二进制1的个数
- NSURLSession的未来
- oracle 索引
- 关于Quick-cocos2dx 2.2.6中CCLabelTTF文字在ios或ipad中显示不全的问题
- ubuntu下lamp一键安装方法 简单
- github如何创建、删除一个repository(仓库)
- 读摄像头的程序
- 看图学英语单词之engage
- Matlab 将.mat文件转化为.txt文件保存
- 1 第一个测试工程HelloWord