全网最详细AFNetworking源码流程解析
2022-02-25 本文已影响0人
_GXT
AFNetworking.png
- 初始化AFURLSessionManager 同时初始化 NSURLSession 和一些配置信息如:operationQueue、responseSerializer(响应数据解析)、lock(NSLock)
- 初始化AFHTTPSessionManager 同时初始化 requestSerializer (AFHTTPRequestSerializer请求数据格式化方式)、responseSerializer(AFJSONResponseSerializer响应数据解析)
- 通过requestSerializer创建NSMutableURLRequest,并设置请求方式、请求头、请求体
- 带上NSMutableURLRequest去用session创建NSURLSessionTask,并进行内部代理AFURLSessionManagerTaskDelegate设置,session创建的每个task都对应一个AFURLSessionManagerTaskDelegate内部代理,用来处理数据
- 调用NSURLSessionTask的resume方法开始网络请求
- 返回的数据回调session代理方法,在转发到对应的AFURLSessionManagerTaskDelegate内部代理去处理,使用responseSerializer解析数据
- 返回解析数据到业务层处理