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的请求方法,看看它到底做了哪些事情?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值