AFNetWorking原理分析

1.结构
会话管理器、请求序列化、响应序列化、安全认证模块、

2.AFURLSessionManager
核心变量
NSURLSession
NSOperationQueue
NSArray 各种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 队列做回调

参考:
https://www.jianshu.com/p/77cbf43fe80a

你可能感兴趣的:(AFNetWorking原理分析)