学习源码
文章平均质量分 80
tsunamier
这个作者很懒,什么都没留下…
展开
-
AFNetworking3.1.0源码分析(二)AFURLSessionManager中的_AFURLSessionTaskSwizzling
在AFNetworking早期的版本中(2.0)中使用kvo监听NSURLSessionTask的state属性,达到对当前网络请求任务的状态的监控实现2.0版本的代码实现:1)创建datatask时候监听datatask的state:static void * AFTaskStateChangedContext = &AFTaskStateChangedContext;- (NSUR原创 2016-11-17 18:59:41 · 971 阅读 · 0 评论 -
AFNetworking3.1.0源码分析(十二)AFURLResponseSerialization
AFURLResponseSerialization 和 AFURLRequestSerialization 是一对出现在网络处理中,AFURLResponseSerialization主要负责对网络请求完成之后返回的结果做解析处理。分析AFURLResponseSerialization.h 可得到,相关类的结构如下图所示:原创 2017-01-15 18:44:54 · 310 阅读 · 0 评论 -
AFNetworking3.1.0源码分析(九)AFHTTPRequestSerializer 之解决调用Amazon S3 服务出现的bug
主要讲解AFHTTPRequestSerializer提供的三种创建NSMutableURLRequest的方式的第三种,前两种已经在之前介绍过,此方法专门是针对Amazon S3产生的问题解决/** 创建一个NSMutableURLRequest并删除request的HTTPBodyStream,在请求结束的回调中把数据异步的方式写到制定的文件中 Creates an `NSMutable原创 2016-12-21 20:59:10 · 376 阅读 · 0 评论 -
AFNetworking3.1.0源码分析(十)之AFSecurityPolicy
AFSecurityPolicy提供以下功能:1:创建安全策略2:创建数字证书(客户端本地预置号的用来验证服务器的证书)3:验证服务器证书的有效性4:支持序列化下面分逐个介绍这些功能:AF提供的安全策略枚举值:typedef NS_ENUM(NSUInteger, AFSSLPinningMode) { AFSSLPinningModeNone,//客户原创 2017-01-11 10:31:04 · 333 阅读 · 0 评论 -
AFNetworking3.1.0源码分析(七)详解AFHTTPRequestSerializer 之AFStreamingMultipartFormData上
本文主要介绍关于AFNetworking中对文件上传的处理,涉及到的知识点:1:PUT 和 POST 方式的区别2:http MIMEType multipart/form-data3:如何手动实现文件上传功能(使用iOS NSMutableRequest,NSURLConnection或者NSURLSession)的请求对象创建和配置4:AFNetWorking 的封装实现提交原创 2016-12-13 17:27:01 · 1812 阅读 · 0 评论 -
AFNetworking3.1.0源码分析(八)AFHTTPRequestSerializer 之AFStreamingMultipartFormData下
本章接着上章继续讲解AFStreamingMultipartFormData设置上传文件(文本,图像,视频)时对请求的设置。1:首先说下在iOS网络请求中以POST/PUT形式发送请求是,设置请求体的两种形式:HTTPBody 和 HTTPBodyStreamHTTPBody:适用于普通的post/put请求(大部分接口请求都使用这种)因为发送的请求体占用的内存很少。HTTPBodyS原创 2016-12-15 17:59:10 · 562 阅读 · 0 评论 -
AFNetworking3.1.0源码分析(一)整体框架和功能模块
简介AFNetworking 介绍:1:一个核心模块(NSURLSession)和其它四大模块共同协作完成整个网络操作的功能。2:核心类工作时序图(创建请求->发起网络请求->请求处理->请求结束->请求回调)原创 2016-11-07 21:26:13 · 1395 阅读 · 0 评论 -
AFNetworking3.1.0源码分析(六)详解AFHTTPRequestSerializer 之序列化NSMutableURLRequest
本文主要分析AFNetworking序列化NSMutableURLRequest1:AFNetworking支持三种media-type对应的http请求头字段Content-Type为:①application/x-www-form-urlencoded ②application/json③application/x-plist 在http请求中,请求方式为(GET,HEAD原创 2016-12-12 13:41:59 · 4015 阅读 · 0 评论 -
AFNetworking3.1.0源码分析(五)详解AFHTTPRequestSerializer 之创建NSMutableURLRequest
1:创建NSMutableURLRequest- (NSMutableURLRequest *)requestWithMethod:(NSString *)method URLString:(NSString *)URLString parameters:(id原创 2016-12-07 20:23:31 · 2635 阅读 · 0 评论 -
AFNetworking3.1.0源码分析(三)AFHTTPRequestSerializer 之AFQueryStringPair
介绍在发送请求之前需要配置request的各项参数,比如请求内容的编码,AFNetWorking中使用AFQueryStringPair类用来对网络请求数据进行编码(百分号编码)遵循rfc3986, AFQueryStringPair类通过函数NSString * AFPercentEscapedStringFromString(NSString *string){}实现编码。原创 2016-11-24 11:53:57 · 453 阅读 · 0 评论 -
AFNetworking3.1.0源码分析(四)详解AFHTTPRequestSerializer 之初始化方法
1:类图介绍在AFHTTPSessionManager 初始化方法中可以看到 AFNetworking 默认使用的网络请求序列化类是AFHTTPRequestSerializer,一下是关于它的类图:2:类功能分析: 一:初始化函数:- (instancetype)init { self = [super init]; if (!self) {原创 2016-12-05 16:55:07 · 1882 阅读 · 0 评论 -
AFNetworking3.1.0源码分析(十三)AFURLSessionManager
AFURLSessionManager功能结构如下图所示:原创 2017-01-20 12:46:19 · 317 阅读 · 0 评论