AFNetWorking原理分析

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 队列做回调

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容