前言 偶尔加入一个网安群的时候,入群题目是这个: 刚开始还是挺懵逼的,诶,是Base64编码嘛?看样子好像是图片转成Base64的,然后放在搜索引擎一回车,竟然是得到了入群密码,是不是有点神奇? 咳咳,下面要进入重点了~~~ data:image/png;base64是什么? 翻阅了一些资料才知道, ...
分类:
其他好文 时间:
2018-06-29 22:29:56
阅读次数:
246
KVC底层实现原理 第一步:寻找该属性有没有setsetter方法?有,就直接赋值 第二步:寻找有没有该属性带下划线的成员属性?有,就直接赋值 第三步:寻找有没有该属性的成员属性?有,就直接赋值 1、首先搜索setKey:方法.(key指成员变量名, 首字母大写) 2、上面的setter方法没找到, ...
分类:
其他好文 时间:
2018-06-22 16:28:29
阅读次数:
150
软件操作:http://jingyan.baidu.com/article/3aed632e3912c8701080912c.html 软件测试数据: 数据,油库链接: http://pan.baidu.com/s/1ge4r9x5 密码: u9js 软件开发包,编译好的: cesium-3d-ti ...
分类:
其他好文 时间:
2018-06-21 22:27:18
阅读次数:
610
1、swift对象内存模型; 2、指针操作; 3、协议、泛型、扩展; 4、kvc; 1是所有实现的基础,没有内存对象(类)模型,后面的一切都我从谈起。 在1的基础上使用2进行对象模型信息的提取和转换。 目前我手上没有完备的swift内存对象模型资料。 ...
分类:
Web程序 时间:
2018-06-20 13:00:32
阅读次数:
178
1,反射(Reflection) 对于C#、Java开发人员来说,肯定都对反射这个概念相当熟悉。所谓反射就是可以动态获取类型、成员信息,同时在运行时(而非编译时)可以动态调用任意方法、属性等行为的特性。 以Java上的两个知名框架(hibernate和spring)为例。hibernate的属性映射 ...
分类:
编程语言 时间:
2018-05-29 17:15:45
阅读次数:
249
Key-Value Observing (键值监測) 简单介绍 KVO是一套当目标对象的属性值改变时观察者对象能够接受到通知的机制。必须先理解KVC才干更好的理解KVO,前者是后者的实现基础。 这种通信机制在MVC设计模式非常是常见 实现过程简单来说分为3步: 1、加入观察这和监測对象 2、监測对象 ...
分类:
其他好文 时间:
2018-04-06 12:34:19
阅读次数:
223
动态设置:setValue:属性值 forKey:属性名用于简单路径;setValue:属性值 forKeyPath:属性路径用于复合路径,例如Person有一个Account类型的属性,那么person.account就是一个复合属性 动态读取:valueForKey:属性名、valueForKe ...
分类:
其他好文 时间:
2018-03-24 12:45:20
阅读次数:
163
前言 在上篇文章中,详细分析了RACSignal是创建和订阅的详细过程。看到底层源码实现后,就能发现,ReactiveCocoa这个FRP的库,实现响应式(RP)是用Block闭包来实现的,而并不是用KVC / KVO实现的。 在ReactiveCocoa整个库中,RACSignal占据着比较重要的 ...
分类:
其他好文 时间:
2018-03-21 19:54:52
阅读次数:
213
#import "NSObject+WQKVC.h" #import /** KVC 首先调用的方法顺序: |- setter: setKey -> setIsKey |- getter: getKey -> key -> isKey |- - (Bool)accessInstanceVariabl... ...
分类:
其他好文 时间:
2018-03-10 00:15:03
阅读次数:
188
接上篇《 iOS中的crash防护(一)unrecognized selector sent to instance》 我们攻克了找不到方法实现的crash,这一篇我这里主要分析一下在KVC常见的crash。以及防护措施。 [object setValue:nil forKey:key] value ...
分类:
移动开发 时间:
2018-02-22 10:50:40
阅读次数:
494