AFNetworking 网络库

2017-02-23  本文已影响74人  桃逸

源码阅读学习:
参考源码解读:http://www.jianshu.com/p/c36159094e24
底层原理分析:

AFM默认超时时长是:60秒

断点续传:

文档参考

AFNetworking Docs
Apple - URL Session Programming Guide

由 NSURLConnection 转为 NSURLSession 了;
使用 session task 来进行数据请求;

代码结构

Paste_Image.png
  1. 使用request searializer 创建post的 NSURLRequest;
  2. NSURLSession 调用 uploadTaskWithStreamedRequest 创建 NSURLSessionUploadTask;
  3. 给task添加对应的delegate并存到到字典中,用于task状态返回的处理;
  4. task resume 开始执行task;

使用相关技术

单例 dispatch_once
Core Foundation 使用,需要手动retain与release管理;
background task
runtime method swizzle
NSOperationQueue
递归锁 NSRecursiveLock
信号量 dispatch_semphore_t (signal +1, wait -1);
手动调用KVO通知,KVO的依赖
消息通知

上一篇 下一篇

猜你喜欢

热点阅读