5 AFNetworking

AFNetWorking基于系统NSURLConnection和NSURLSession实现的,也是基于CFNetWork的,AFN回调采用Block,使用方便。

自己的网络库:当第三方库发生重大更新的时候导致我们手忙脚乱

get请求的实现流程:

//使用代码

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

manager.responseSerializer = [AFHTTPResponseSerializer serializer];

[manager GET:url parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {

//成功

NSDictionary *obj = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];

} failure:^(NSURLSessionDataTask *task, NSError *error) {

//失败

}];


1当我们调用get函数之前,我们需要创建一个AFHTTPSessionManager,在之前我们使用的一般是AFHTTPRequestOperationManager.

2在调用get请求后,我们一般都不需要干什么了,因为那些繁琐复杂的网络通信都交给他去做了,他首先会调用AFNetworkReachabilityManager验证是否联网.

3然后参数序列化,用于网络请求.

4调用AFSecurityPolicy类,AFSecurityPolicy用于验证HTTPS请求的证书,简单来说建立连接.具体建立步骤参照博客.

5连接建立完成,证书验证成功,开始请求服务器.

6从服务器返回数据,解析服务器数据,将数据反序列化.

7我们得到data类型的数据,可以使用JSON解析直接解析成字典使用.


在这实现过程中他还帮我们做了开线程,异步下载,检查数据是否合法,图片解压等一些繁琐的事情

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容