1.结构
会话管理器、请求序列化、响应序列化、安全认证模块、
2.AFURLSessionManager
核心变量
NSURLSession
NSOperationQueue
NSArray <NSURLSessionTask *> 各种task
dispatch_group_t completionGroup
串行队列:af_url_session_manager_creation_queue
并发队列:url_session_manager_processing_queue
gourp组:url_session_manager_completion_group
存放任务对象:AFURLSessionManagerTaskDelegate : NSObject
类似ViewModel进行任务代理的管理 。分发任务代理,其实调用这个viewModel处理方法。
获取 af_resume和af_suspend:遍历
self.session = [NSURLSession sessionWithConfiguration:self.sessionConfiguration delegate:self delegateQueue:self.operationQueue]; 代理 回调会在self.operationQueue,同步串行队列,好处append data 不用加锁。
回调->调用类AFURLSessionManagerTaskDelegate->调用完成,移除掉。并dispatch_asyc做数据解析,最后 dispatch group 队列做回调