自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tsunamier的博客

code to change the world

  • 博客(21)
  • 收藏
  • 关注

原创 Python学习(python2.7.10)

python 施工笔记1:中文编码,文件开头指定编码格式,不会出现中文乱码# -*- coding:utf-8 -*-

2017-12-07 22:31:13 229

原创 AFNetworking3.1.0源码分析(十四)AFHTTPSessionManager

AFHTTPSessionManager功能如下图所示:

2017-01-20 12:47:11 279

原创 AFNetworking3.1.0源码分析(十三)AFURLSessionManager

AFURLSessionManager功能结构如下图所示:

2017-01-20 12:46:19 310

原创 AFNetworking3.1.0源码分析(十二)AFURLResponseSerialization

AFURLResponseSerialization 和 AFURLRequestSerialization 是一对出现在网络处理中,AFURLResponseSerialization主要负责对网络请求完成之后返回的结果做解析处理。分析AFURLResponseSerialization.h  可得到,相关类的结构如下图所示:

2017-01-15 18:44:54 299

原创 AFNetworking3.1.0源码分析(十一)之AFSecurityPolicy验证服务器信任

通过上篇文章总体的了概述了AFSecurityPolicy的功能。先了解下数字证书和原理,这篇文章非常详细的讲解了证书以及认证的原理。下面继续详细分析AFSecurityPolicy验证服务器信任的过程涉及的方法:1:设置本地证书集合,和获取本地证书的公钥并创建公钥集合1.1设置本地证书集合- (void)setPinnedCertificates:(NSSet *)pin

2017-01-11 14:18:48 405

原创 AFNetworking3.1.0源码分析(十)之AFSecurityPolicy

AFSecurityPolicy提供以下功能:1:创建安全策略2:创建数字证书(客户端本地预置号的用来验证服务器的证书)3:验证服务器证书的有效性4:支持序列化下面分逐个介绍这些功能:AF提供的安全策略枚举值:typedef NS_ENUM(NSUInteger, AFSSLPinningMode) { AFSSLPinningModeNone,//客户

2017-01-11 10:31:04 301

原创 断点调试程序执行过程中执行的方法

使用命令:(void)instrumentObjcMessageSends(YES);例子使用模拟器运行:- (void)viewDidLoad { [super viewDidLoad]; (void)instrumentObjcMessageSends(YES); NSString *string = [NSString stringWithForma

2016-12-29 14:21:53 1665

原创 AFNetworking3.1.0源码分析(九)AFHTTPRequestSerializer 之解决调用Amazon S3 服务出现的bug

主要讲解AFHTTPRequestSerializer提供的三种创建NSMutableURLRequest的方式的第三种,前两种已经在之前介绍过,此方法专门是针对Amazon S3产生的问题解决/** 创建一个NSMutableURLRequest并删除request的HTTPBodyStream,在请求结束的回调中把数据异步的方式写到制定的文件中 Creates an `NSMutable

2016-12-21 20:59:10 369

原创 分析 for(;;){break} 和 while(1){break}

FORLOOP:Lfunc_begin0: @ BB#0: sub sp, #4 movs r0, #1 //存放立即数1到寄存器r0Ltmp0: str r0, [sp] //把r0中的数据传给spLBB0_1: @ =>This Inner Loop

2016-12-21 18:12:44 573

原创 AFNetworking3.1.0源码分析(八)AFHTTPRequestSerializer 之AFStreamingMultipartFormData下

本章接着上章继续讲解AFStreamingMultipartFormData设置上传文件(文本,图像,视频)时对请求的设置。1:首先说下在iOS网络请求中以POST/PUT形式发送请求是,设置请求体的两种形式:HTTPBody 和 HTTPBodyStreamHTTPBody:适用于普通的post/put请求(大部分接口请求都使用这种)因为发送的请求体占用的内存很少。HTTPBodyS

2016-12-15 17:59:10 547

原创 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 1797

原创 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 3995

原创 AFNetworking3.1.0源码分析(五)详解AFHTTPRequestSerializer 之创建NSMutableURLRequest

1:创建NSMutableURLRequest- (NSMutableURLRequest *)requestWithMethod:(NSString *)method URLString:(NSString *)URLString parameters:(id

2016-12-07 20:23:31 2630

原创 AFNetworking3.1.0源码分析(四)详解AFHTTPRequestSerializer 之初始化方法

1:类图介绍在AFHTTPSessionManager 初始化方法中可以看到 AFNetworking 默认使用的网络请求序列化类是AFHTTPRequestSerializer,一下是关于它的类图:2:类功能分析: 一:初始化函数:- (instancetype)init { self = [super init]; if (!self) {

2016-12-05 16:55:07 1875

原创 Object-c 中截取包含(中、英文、表情符号emojiicon)混合字符串的每个字符并获取此字符的unicode值

ios中的nsstring 使用utf16编码,当字符串中包含中、英文、特殊字符、emojiicon 的时候,使用常规的characterAtIndex:会出现错误,因为这种方式是一个单元的utf16编码位截取,当截取ascii范围内的字符时,每个单元的长度是1(utf16对应两个字节),对于其它特殊字符就不一样了,因此正确的方式应该是:字符串在网页上显示的不对,我截了个图:

2016-12-02 15:58:59 1328

原创 AFNetworking3.1.0源码分析(三)AFHTTPRequestSerializer 之AFQueryStringPair

介绍在发送请求之前需要配置request的各项参数,比如请求内容的编码,AFNetWorking中使用AFQueryStringPair类用来对网络请求数据进行编码(百分号编码)遵循rfc3986, AFQueryStringPair类通过函数NSString * AFPercentEscapedStringFromString(NSString *string){}实现编码。

2016-11-24 11:53:57 443

原创 iOS水波动画效果

1:实现原理:两条不同内填充色的波浪向相对方向平移,产生波动效果,使用的技术:CAShapeLayer,UIBezierPath2:实现效果3:实现步骤:画两条贝塞尔曲线,由于需要交叉产生效果,当前屏幕和屏幕外相同宽度的部分画线,然后按照固定的速度移动,每到移动到屏幕边缘的时候重新设置波浪线的路径,波浪的交叉重贴的部分产生的效果就是锁需要的效果具体实现代码如下:#impor

2016-11-21 19:31:57 2375

原创 iOS开发获取iphone,ipod,ipad,ipadmini 硬件类型名称

iOS开发获取iphone,ipod,ipad,ipadmini 硬件类型名称

2016-11-21 15:37:59 408

原创 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 965

原创 使用AVSpeechSynthesizer添加"文本转语音"的功能

AVSpeechSynthesizer播放一个或者多个语音内容:#import #import @interface TSSpeech: NSObject@property(nonatomic, strong, readonly)AVSpeechSynthesizer *speechSynthesizer;+ (instancetype)speechController;

2016-11-11 22:03:42 392

原创 AFNetworking3.1.0源码分析(一)整体框架和功能模块

简介AFNetworking 介绍:1:一个核心模块(NSURLSession)和其它四大模块共同协作完成整个网络操作的功能。2:核心类工作时序图(创建请求->发起网络请求->请求处理->请求结束->请求回调)

2016-11-07 21:26:13 1391

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除