一、前言
AFNetworking,非常友好简单的网络请求第三方框架,在GitHub中已经获得了25000++的star,链接地址:https://github.com/AFNetworking/AFNetworking
本人分析源码比较喜欢使用Xmind思维导图,非常方便做流程记录。所以,下面直接给大家伙看思维导图。
备注:本文讨论的是AFNetworking 2.5 版Http请求部分,主要是采用NSURLConnect请求部分,NSURLSession暂不讨论,在更新的版本里,已经没有NSURLConnect请求了,取而代之的是NSURLSession,NSURLSession是苹果iOS 7之后推出的网络请求框架,NSURLSession请求更加的完善,上传和下载你也很方便, 并在iOS9之后,不再支持NSURLConnect。
二、AFNetworking优缺点
2.1、纯属个人看法,优点可能不止这些,下面的有点个人觉得很值得学习。
2.2、AFNetworking没有对URL做缓存处理,需要我们自己增加URL缓存管理
具体方法可以参考这两个:
http://www.iliunian.com/2869.html
http://blog.originate.com/blog/2014/02/20/afimagecache-vs-nsurlcache/
三、AFNetworking工作流程
从下面的图可以很看出,高度解耦啊,流程非常清晰