1.KVC定义
KVC全称是Key Value Coding,定义在NSKeyValueCoding.h文件中,是一个非正式协议。KVC提供了一种间接访问其属性方法或成员变量的机制,可以通过字符串来访问对应的属性方法或成员变量。
在NSKeyValueCoding中提供了KVC通用的访问方法,分别是getter方法valueForKey:和setter方法setValue:forKey:,以及其衍生的keyPath方法,这两个方法各个类通用的。并且由KVC提供默认的实现,我们也可以自己重写对应的方法来改变实现。
2.KVC基本操作
(1)使用KVC时,直接将属性名当做key,并设置value,即可对属性进行赋值。
[myAccount setValue:@(20.0) forKey:@"age"];
(2)keyPath 用法
除了对当前对象的属性进行赋值外,还可以对其更“深层”的对象进行赋值。例如对当前对象的address属性的street属性进行赋值。KVC进行多级访问时,直接类似于属性调用一样用点语法进行访问即可。
[myAccount setValue:@"十里河" forKeyPath:@"address.street"];
3.KVC的赋值原理

KVC(Key-Value Coding)是Objective-C中的一种非正式协议,允许间接访问对象的属性。通过字符串key来操作属性,提供了如`setValue:forKey:`和`valueForKey:`等方法。KVC还支持多级访问,如`keyPath`,可用于设置深层对象的属性。开发者可以重写默认实现以自定义行为。
264

被折叠的 条评论
为什么被折叠?



