AFURLRequestSerialization

本类作用:参数的百分号编码,请求头的拼接

一、头文件(.h文件)

AFURLRequestSerialization_第1张图片
AFURLRequestSerialization_第2张图片
AFURLRequestSerialization_第3张图片
AFURLRequestSerialization_第4张图片
AFURLRequestSerialization_第5张图片
AFURLRequestSerialization_第6张图片
AFURLRequestSerialization_第7张图片

二、实现文件(.m文件)

1.AFPercentEscapedStringFromString函数的实现

AFURLRequestSerialization_第8张图片

这个方法主要就是实现百分号编码,根据规则过滤出不适合编码的,然后分割字符编码完再拼装到一起

2.AFQueryStringPair类

AFURLRequestSerialization_第9张图片

这个类就是对每一个数据对进行百分号编码

3.AFQueryStringFromParameters

AFURLRequestSerialization_第10张图片
AFURLRequestSerialization_第11张图片
AFURLRequestSerialization_第12张图片

这个函数的主要作用就是:利用递归一层层对参数进行剥壳,然后进行百分号编码再用&符号连接起来

4.设置监听元素的集合

AFURLRequestSerialization_第13张图片

5.AFHTTPRequestSerializer类

①init 和dealloc

AFURLRequestSerialization_第14张图片
AFURLRequestSerialization_第15张图片
AFURLRequestSerialization_第16张图片
AFURLRequestSerialization_第17张图片

init方法初始化基础参数,设置默认的User-Agent、Accept-Language

dealloc移除监听

②设置监听

AFURLRequestSerialization_第18张图片

③关于请求头部分

AFURLRequestSerialization_第19张图片

AFURLRequestSerialization_第20张图片

⑤关于NSURLRequest的设置

AFURLRequestSerialization_第21张图片
AFURLRequestSerialization_第22张图片
AFURLRequestSerialization_第23张图片
AFURLRequestSerialization_第24张图片
AFURLRequestSerialization_第25张图片
AFURLRequestSerialization_第26张图片

⑥、NSKeyValueObserving NSSecureCoding NSCopying协议

AFURLRequestSerialization_第27张图片
AFURLRequestSerialization_第28张图片
AFURLRequestSerialization_第29张图片

⑦AFHTTPBodyPart类

AFURLRequestSerialization_第30张图片
AFURLRequestSerialization_第31张图片
AFURLRequestSerialization_第32张图片
AFURLRequestSerialization_第33张图片
AFURLRequestSerialization_第34张图片
AFURLRequestSerialization_第35张图片
AFURLRequestSerialization_第36张图片
AFURLRequestSerialization_第37张图片

⑧AFMultipartBodyStream类

AFURLRequestSerialization_第38张图片
AFURLRequestSerialization_第39张图片
AFURLRequestSerialization_第40张图片
AFURLRequestSerialization_第41张图片

三、结尾

这个类代码繁多,类也比较多,有的比较跳,还有关于网络请求的一些规则不懂,导致看起来比较费劲,看了众多博客,根据别人写的还有自己的理解,只能写成这样了。。。最后推荐一篇别人写的吧

AFNetworking 3.0 源码解读(三)之 AFURLRequestSerialization

你可能感兴趣的:(AFURLRequestSerialization)