项目中引用了YTKNetwork。在bugly中有crash上报。
架构
- YTKNetwork将每一个请求实例化。YTKBaseRequest是所有请求类的基类。YTKRequest是子类。主要做了数据缓存等工作。
- YTKNetworkAgent是一个单例。负责管理所有请求类。当CustomRequest发送请求之后,会把自己放在YTKNetworkAgent持有的字典中,让其管理自己。(在网络请求结束之后将自己移除)
- YTKNetworkAgent封装了AFNetworking。由他负责AFNetworking请求发送和回调处理。
| 类名 | 职责 |
|---|---|
| YTKBaseReqest | baseRequest持有NSURLSessionTask实例,responseData,responseObjet,error等数据。处理回调的block和代理 |
| YTKRequest | 负责缓存的处理,请求之前查询缓存。请求之后写入缓存 |
| YTKNetworkConfig | 全局的请求配置。例如baseurl 和CDNUrl等 |
| YTKNetworkAgent | 发起请求。使用字典存储强引用 正在执行的请求 |
| YTKBatchRequest | 批量请求。,有一个请求失败认定本组请求失败 |
| YTKChainRequest | 链式请求。当某个请求结束后才发起下一个请求。如有一个请求返回失败,则认定请求链失败 |