美文网首页iOS开发iOS学习开发
AFNetWorking源码分析(一)

AFNetWorking源码分析(一)

作者: 阿基米敬 | 来源:发表于2016-12-26 13:05 被阅读176次

    最近研究了一下AFNet的源码,AFNetworking建立在URL 装载系统框架的顶层,内置在Cocoa里,扩展了强有力的高级网络抽象。它拥有良好的架构,丰富的api,以及模块化构建方式,先来看一下AFNetWorking的代码的大致结构吧:
    AFNetPng1.png
    • 网络通信模块(NSURLSession)[核心请求库]
    • 网络状态监听模块(Reachability)
    • 网络通信安全策略模块(Security)
    • 网络通信信息序列化/反序列化模块(Serialization)

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


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

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

    相关文章

      网友评论

        本文标题:AFNetWorking源码分析(一)

        本文链接:https://www.haomeiwen.com/subject/bxpxvttx.html