码迷,mamicode.com
首页 > 其他好文 > 详细

KVC

时间:2014-05-23 11:51:23      阅读:334      评论:0      收藏:0      [点我收藏+]

标签:class   blog   c   code   http   a   

KVC简介:

KVC,即Key-value coding,它是一种使用 字符串 标示符,间接访问 对象属性的机制,而不是直接调用getter和setter方法。通常我们使用valueForKey来替代getter方法,setValue:forKey来替代的方法.

情况一:

工程当中只有一个对象属性不同时,可以使用以下方法:

修改属性的值

1
- (void)setValue:(id)value forKey:(NSString *)key;

拿到修改后的值

1
- (id)valueForKey:(NSString *)key;

情况二:

当工程对象有包含关系时,若要改被包含对象的属性值,可以使用(keyPath)属性链式访问来改变属性的值

修改属性的值

1
- (void)setValue:(id)value forKeyPath:(NSString *)keyPath;

拿到修改后的值

1
- (id)valueForKeyPath:(NSString *)keyPath;
KVC注意事项:

假如给出的字符串没有对象的属性 会访问 valueForUndefineKey 方法 默认实现是 raise 一个异常 但你可以重写这个方法,setValue的时候也是一样的道理.

KVC代码github托管地址

https://github.com/liukunpengiOS/KVC

git clone 地址

https://github.com/liukunpengiOS/KVC.git

KVC,布布扣,bubuko.com

KVC

标签:class   blog   c   code   http   a   

原文地址:http://www.cnblogs.com/liukunpeng/p/3737289.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!