AFNetworking框架-详细解析
我相信学习iOS超过半年以上的同学们应该都用过这个库,现在市场上目前大多数的app,不吹逼至少百分之98以上都用这个库,为什么这么火呢?它提供给大家的公共方法就是那么好吗?大家都真的了解里面的实现原理和思想吗?难道不想进一步的知道和发掘内在的东西吗?
我也是学习iOS的,我相信只要是抱着以后将来不说5年,3年之内还想一直干iOS的朋友,应该都想知道这个东西到底是什么!下面我们就来一一分析吧。
在github上面的stars也是居高不下的!
下面自己测试下:
一般用到最多的就是这些,那么这些是什么东西呢?
其实AFN中分为5个具体的模块:
1 AFURLSessionManager/AFHTTPSessionManger:网络通信模块
2 Reachability : 网络状态监听模块
3 Security:网络通信安全策略模块
4 Serialization: 序列化和反序列化模块
5 其实还有一个重大的模块: UIKit: 对于iOS UIKit库的扩展
这里面的核心就是:1 网络通信模块
这个AFURLSessionManager 是围绕着 NSURLSession 封装的,其他的都是围绕配合它使用的一个扩展的工具包。
AFHTTPSessionManager 是继承AFURLSessionManager ,一般的网络请求都是用它
在AFURLSessionManager的初始化的方法中:
上面的部分代码函数有点看不懂,接下来先看看它里面我们常用的网络请求方法:
在这里可以清楚的看到
就直接跳进去看看到底做了些什么东西
注意了这个方法做了两件事:
1.用self.requestSerializer和各种参数去获取了一个我们最终请求网络需要的NSMutableURLRequest实例。
2调用另外一个方法dataTaskWithRequest去拿到我们最终需要的NSURLSessionDataTask实例,并且在完成的回调里,调用我们传过来的成功和失败的回调。
好了,接下来我们先来分析下刚才第一个requestSerializer 中的request的请求方法,看看它到底做了哪些事情?
AFNetworking框架-详细解析相关推荐
- ImageIO 框架详细解析
ImageIO框架详细解析(一) -- 基本概览 ImageIO框架详细解析(二) -- 使用ImageIO基础 ImageIO框架详细解析(三) -- 创建和使用图像源 ImageIO框架详细解析( ...
- CFNetwork 框架详细解析
1. CFNetwork框架详细解析(一) -- 基本概览 2. CFNetwork框架详细解析(二) -- CFNetwork编程指导之简介(一) 3. CFNetwork框架详细解析(三) -- ...
- HealthKit 框架详细解析
HealthKit框架详细解析(一) -- 基本概览(一) HealthKit框架详细解析(二) -- 基本概览(二)
- IOS开发基础之使用AFNetworking框架实现xml文件的解析
IOS开发基础之使用AFNetworking框架实现xml文件的解析 info.plist加入这行代码 <key>NSAppTransportSecurity</key> &l ...
- OpenCL编程详细解析与实例
OpenCL编程详细解析与实例 C语言与OpenCL的编程示例比较 参考链接: https://www.zhihu.com/people/wujianming_110117/posts 先以图像旋转的 ...
- 深度学习目标检测详细解析以及Mask R-CNN示例
深度学习目标检测详细解析以及Mask R-CNN示例 本文详细介绍了R-CNN走到端到端模型的Faster R-CNN的进化流程,以及典型的示例算法Mask R-CNN模型.算法如何变得更快,更强! ...
- ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析
视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...
- IOS开发基础之使用AFNetworking框架下载服务器资源图片
IOS开发基础之使用AFNetworking框架下载服务器资源图片 info.plist加入这句 <key>NSAppTransportSecurity</key> <d ...
- Android技能树 — 网络小结(6)之 OkHttp超超超超超超超详细解析
前言: 本文也做了一次标题党,哈哈,其实写的还是很水,各位原谅我O(∩_∩)O. 介于自己的网络方面知识烂的一塌糊涂,所以准备写相关网络的文章,但是考虑全部写在一篇太长了,所以分开写,希望大家能仔细看 ...
- 图像视频信息库改直播服务器,短视频直播系统,开发流程详细解析
原标题:短视频直播系统,开发流程详细解析 短视频直播系统的开发也分Android端和iOS端,不同端口对应不同的开发方式,使用不同的开发协议,与直播系统的开发流程相同,也是分五个步骤,今天就给大家详细 ...
最新文章
- 《民国枭雄杜月笙》—— 听后总结
- WordPress建站指南
- web.xml中的主要元素说明(listener, filter, servlet)
- 计算机算法设计与分析 N后问题
- Improper inline parameter map format. Should be: #{propName,attr1=val1,attr2=val2}
- 证明矩阵的秩=行秩=列秩
- 大学课程 | 《计算机网络》知识点超详细总结
- PPT汇报片配音及视频格式生成方法
- Android View 监听宿主生命周期
- 小米8开机android正在启动不了,小米无法开机解决办法【图文教程】
- 记一次jstack线程诊断
- 使用网上成熟的【MySqlBackup】组件,通过WEB网页操作,备份远程计算机中的数据库到C:\inetpub\wwwroot文件夹下,系统汇报错误(访问被拒绝),该如何解决呢?
- excel文件不能编辑怎么回事?
- Python ord函数
- 拒绝无脑跳转“下载某度APP“!
- TC---教学知识与能力
- 技术话题(1)PROFINET协议
- 鲁大师2015官方版 v5.8.14.1085 电脑版​
- 企业即时通讯软件,如何让沟通协作更加安全高效?
- 转贴:网友line写的火鸟字幕合并器教程