一.管理对象
1.AFHTTPRequestOperationManager 是对NSURLConnection的封装
2.AFHTTPSessionManager 是对 NSURLSession的封装
二.AFHTTPRequestOperationManager具体使用
1.创建管理者
2.封装请求参数
3.发送请求(POST,GET)
三.对服务器返回数据的解析
1.AFN可以自动对服务器返回的数据当做JSON解析
2.解析方式
(1)默认,当做json解析 :AFJSONResponseSerializer 和 AFHTTPResponseSerializer
(2)当做XML解析 : AFXMLParserResponseSerializer 和 AFHTTPResponseSerializer
(3)直接返回data : AFHTTPResponseSerializer
四.AFN和ASI的区别
1.底层
(1) AFN底层是基于OC的 NSURLConnection NSURLSession
(2)ASI底层是基于纯C语言CFNetwork框架
(3)ASI的性能高于AFN
2.对服务器返回的数据处理
(1)ASI没有提供处理数据的方式,直接返回data/string
(2)AFN提供多种处理数据的方式
3.监听请求的过程
(1)AFN提供了两个block来监听请求的过程(只能监听成功和失败)
(2)ASI提供了三种方式,每一种方式都能监听到请求的完整过程(监听请求开始,接收到响应头信息,接收到具体数据,接收完毕,请求失败)
成为代理,遵守协议,实现协议方法
成为代理,不遵守协议,自定义代理方法
block
4.文件下载和文件上传
AFN:
(1)不容易监听下载和上传进度
(2)不容易实现断点续传
(3)一般用来下载不大的文件
ASI:
(1)很容易实现下载和上传
(2)很容易监听下载进度和上传进度
(3)很容易实现断点续传
(4)下载或大或小的文件都可以
5.ASI更多的功能
(1)控制的加载圈圈要不要在请求中旋转
(2)轻松设置请求之间的依赖
(3)可以统一管理所有请求(ASINetworkQueue管理所有请求)
(4)暂停或者恢复请求