深入理解 KVC\KVO 实现机制 — KVC KVC和KVO都属于键值编程而且底层实现机制都是isa-swizzing,所以本来想放在一起讲的。但是篇幅有限所以就分成了两篇博文KVO实现机制传送门 KVC概述 KVC是Key Value Coding的简称。它是一种可以通过字符串的名字(key)来 ...
分类:
其他好文 时间:
2016-09-16 01:32:34
阅读次数:
124
深入理解 KVC\KVO 实现机制 — KVO KVC和KVO都属于键值编程而且底层实现机制都是isa-swizzing,所以本来想放在一起讲的。但是篇幅有限所以就分成了两篇博文。 KVC实现机制传送门 KVO概述 键值观察Key-Value-Observer就是观察者模式。 观察者模式的定义:一个 ...
分类:
其他好文 时间:
2016-09-16 01:31:30
阅读次数:
149
这个属性用来获取和设置激活状态。这个属性支持kvo。如果是设置,首先回调用自己实现的控制转态的block,如果没有实现这个block,就直接通过UIApplication来设置激活状态了。激活延时,指的是当网络开始到显示激活的一个时间间隔。默认的是1秒,为什么要设置这个呢?根据人机交互指南,有些网络... ...
分类:
编程语言 时间:
2016-09-13 20:31:16
阅读次数:
202
Key-Value Observing (键值监测)简介KVO是一套当目标对象的属性值改变时观察者对象能够接受到通知的机制。必须先理解KVC才能更好的理解KVO,前者是后者的实现基础。
分类:
其他好文 时间:
2016-09-07 19:29:51
阅读次数:
234
KVO:(Key-Value-Observer)键值观察者,是观察者设计模式的一种具体实现 KVO触发机制:一个对象(观察者),监测另一对象(被观察者)的某属性是否发生变化,若被监测的属性发生的更改,会触发观察者的一个方法(方法名固定,类似代理方法) KVO使用步骤: 1、注册观察者(为被观察者指定 ...
分类:
其他好文 时间:
2016-09-05 01:44:14
阅读次数:
234
Key-Value Coding: 键值编码 (KVC) 方法调用: KVC运用了一个isa-swizzling技术。isa-swizzling就是类型混合指针机制, 将2个对象的isa指针互相调换, 就是俗称的黑魔法。 KVC主要通过isa-swizzling,来实现其内部查找定位的。默认的实现方 ...
分类:
其他好文 时间:
2016-08-31 13:41:32
阅读次数:
161
一、KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC相对的时KVO,即key valued observer 键值观察。监听某一个模型的属性,只要模型属性的值一变化就通知你。 二、使用KVC 1.KVC基本使用介绍 (1)代码示例: 新建 ...
分类:
移动开发 时间:
2016-08-24 17:00:20
阅读次数:
184
涉及到了runtime,关于isa指针 手动实现键值观察(代码示例) 被观察的对象Target(重写setter/getter方法)Target.h Target.m 首先,需要手动实现属性的 setter 方法,并在设置操作的前后分别调用 willChangeValueForKey: 和 didC ...
分类:
其他好文 时间:
2016-08-24 13:04:21
阅读次数:
183
KVC是Key Value Coding的简称,意思是键值编码,号称Cocoa的大招。它是一种可以直接通过字符串key(对象在名称)来访问或修改对象属性的机制。 使用 1.利用KVC可以随意修改一个对象的属性或者成员变量(私有的也可以修改)。 其中,key为被修改对象的名称或者其成员变量名称。 2. ...
分类:
其他好文 时间:
2016-08-21 00:58:56
阅读次数:
274
KVC(Key-value coding)键值编码,单看这个名字可能不太好理解。其实翻译一下就很简单了,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。这样就可以在运行时动态在访问和修改对象的属性。而不是在编译时确定,这也是iOS ...
分类:
其他好文 时间:
2016-08-21 00:47:51
阅读次数:
376