AFNetworking这个框架是iOS必备的一个第三方框架,其高效简洁的API使其成为最好的iOS网络请求框架,也让iOS开发的网络请求轻松许多,AFNetworking-Github
本文分析基于版本是3.1.0
pod 'AFNetworking', '~> 3.1.0'
因为iOS9开始NSURLConnection这个类已经被废弃,所以框架的主要类也由AFHTTPRequestOperationManager
变为AFHTTPSessionManager
从图中就可以看出,整体分为以下几个部分
AFURLSessionManager
封装的是NSURLSession
,而AFHTTPSessionManager
是其子类,用于HTTP请求做了一些优化AFNetworkReachabilityManager
是用来监测当前网络状况的一个类AFSecurityPolicy
AFURLRequestSerialization
是请求前的序列化,AFURLResponseSerialization
是请求完成后对结果的序列化所以整个AFNetworking网络请求的过程就是: