iOS开发iOS学习开发

AFNetWorking源码分析(一)

2016-12-26  本文已影响176人  阿基米敬

最近研究了一下AFNet的源码,AFNetworking建立在URL 装载系统框架的顶层,内置在Cocoa里,扩展了强有力的高级网络抽象。它拥有良好的架构,丰富的api,以及模块化构建方式,先来看一下AFNetWorking的代码的大致结构吧:
AFNetPng1.png

AFHTTPSessionManager:我们一般做网络请求都是用这个类,但是它本身是没有做实事的,只是做了一些简单的封装,把请求逻辑分发给父类AFURLSessionManager或者其它类去做


AFURLSessionManager 是对 NSURLSession 的封装
1.它通过 AFURLSessionManager dataTaskWithRequest:completionHandler: 等接口创建 NSURLSessionDataTask 的实例
2.持有一个字典 mutableTaskDelegatesKeyedByTaskIdentifier 管理这些 data task 实例
3.使用AFURLSessionManagerTaskDelegate管理进度
4.引入AFSecurityPolicy保证请求的安全
5.引入AFNetworkReachabilityManager监控网络状态

先简单说到这里,后续会继续整理

上一篇下一篇

猜你喜欢

热点阅读