1.結(jié)構(gòu)
會(huì)話管理器茸歧、請(qǐng)求序列化、響應(yīng)序列化、安全認(rèn)證模塊、
2.AFURLSessionManager
核心變量
NSURLSession
NSOperationQueue
NSArray <NSURLSessionTask *> 各種task
dispatch_group_t completionGroup
串行隊(duì)列:af_url_session_manager_creation_queue
并發(fā)隊(duì)列:url_session_manager_processing_queue
gourp組:url_session_manager_completion_group
存放任務(wù)對(duì)象:AFURLSessionManagerTaskDelegate : NSObject
類似ViewModel進(jìn)行任務(wù)代理的管理 栏饮。分發(fā)任務(wù)代理,其實(shí)調(diào)用這個(gè)viewModel處理方法磷仰。
獲取 af_resume和af_suspend:遍歷
self.session = [NSURLSession sessionWithConfiguration:self.sessionConfiguration delegate:self delegateQueue:self.operationQueue]; 代理 回調(diào)會(huì)在self.operationQueue袍嬉,同步串行隊(duì)列,好處append data 不用加鎖芒划。
回調(diào)->調(diào)用類AFURLSessionManagerTaskDelegate->調(diào)用完成冬竟,移除掉欧穴。并dispatch_asyc做數(shù)據(jù)解析民逼,最后 dispatch group 隊(duì)列做回調(diào)