首页 > 代码库 > KVC
KVC
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; |
假如给出的字符串没有对象的属性 会访问 valueForUndefineKey 方法 默认实现是 raise 一个异常 但你可以重写这个方法,setValue的时候也是一样的道理.
KVC代码github托管地址
https://github.com/liukunpengiOS/KVC
git clone 地址
https://github.com/liukunpengiOS/KVC.git
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。