KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。//KVO是基于KVC的,观察者可以观察一个对象的某个属性(key),但这个属性的值(value)...
分类:
其他好文 时间:
2014-08-05 19:12:09
阅读次数:
232
引子: ? 为什么要写这个,只是突然一个念头闪现,说一下本人目前理解。KVC: ? Key-value coding,它是一种使用字符串标识符,间接访问对象属性的机制。但是关就这一点来说,这么久以来确实没怎么体会到用这个的好处,我没有明显的理由用setValut:forKey 而不是直接用一个属性。...
分类:
其他好文 时间:
2014-08-01 09:12:11
阅读次数:
230
由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby、Python的动态特性,例如动态类型、动态加载、动态绑定等。今天我们着重介绍ObjC中的键值编码(KVC)、键值监听(KVO)特性:键值编码KVC 键值监听KVO
分类:
移动开发 时间:
2014-07-27 21:47:29
阅读次数:
354
http://www.cnblogs.com/QM80/p/3647819.html如果要修改对象的属性值1.一般情况下是直接利用对象属性的set方法来修改: Student *stu = [[Student alloc] init]; // set方法的两种书写格式 [stu s...
分类:
移动开发 时间:
2014-07-26 01:07:26
阅读次数:
265
KVC实现原理
在iOS中,通过KVC可以直接用字符串的名字(key)来访问类属性的机制。而不是通过调用Setter、Getter方法访问。
KVC是KVO、Core Data、CocoaBindings的技术基础,他们都是利用了OC的动态性。
关于KVC的使用方法,...
分类:
其他好文 时间:
2014-07-21 16:47:13
阅读次数:
435
在KVC编程方式中,无论调用setValue:forKey:方法,还是调用valueForKey:方法,都是通过NSString对象来指定被操作属性,其中forKey:标签用户传入属性名的。 对于setValue:属性值forKey@“name”;代码,底层的执行机制如下。 (1)程序优先考...
分类:
移动开发 时间:
2014-07-21 14:28:31
阅读次数:
204
1、KVC:Key Value Coding 键值编码(键值路径)作用:对象实例可以在类的外部对成员变量进行访问和赋值(就算成员变量是private也可以)举例:有一个Book类:private :_name; Author *_author; Author类:private:_na...
分类:
其他好文 时间:
2014-07-19 09:28:23
阅读次数:
200
Key Value Observer 键值观察者(基于KVC)(观察者设计模式)是一种使对象获取其他对象的特定属性变化的通知机制。 例子:定义一个类Nurse的成员变量有Child *child,类Child有成员变量happyValue;在Nurse类的.m文件中把它自己定义成为Child类ha....
分类:
其他好文 时间:
2014-07-19 09:16:14
阅读次数:
172
// 1.键-值观察// 2.它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。// 3.符合KVC(Key-ValuedCoding)机制的对象才可以使用KVO// 4.实现过程// ①注册,指定被观察者// ②实现回调方法// ③移除观察- (void)viewDidLoad{[...
分类:
其他好文 时间:
2014-07-16 18:59:45
阅读次数:
194
iOS开发项目篇—27自定义UITabBar一、自定义思路:(1)新建一个继承自UITabBar的类,自定义一个UITabBar(2)用自定义的UITabBar换掉系统的UItabBar(使用了KVC)(3)监听控制器的切换,只要控制器一切换,就调用代理方法强制重新布局子控件(内部会调用layout...
分类:
移动开发 时间:
2014-07-13 19:54:00
阅读次数:
433