KVC(key value coding)

简介

KVC是一种可以直接通过字符串的名字(key)来访问类属性的机制。而不是通过调用Setter、Getter方法访问。

当使用KVO、Core Data、CocoaBindings、AppleScript(Mac支持)时,KVC是关键技术。


Set


setValue: forkey:// 只能给对象的直接属性赋值

setValue:forKeyPath: //可以给对象的间接属性赋值。多层赋值, 推荐使用


Get


valueForKey: //获取单个值

valueForKeyPath: //获取多层值

dictionaryWithValuesForKeys://模型转字典

获取数组中的对象:

KVC(key value coding)_第1张图片

运算符:


字典转模型


注意点:

1.如果想使用KVC进行字典转模型, 那么字典中的key必须和模型中的属性一模一样(个数 + 名称)否则会报错:this class is not key value coding-compliant for the key score.

2.如果使用KVC进行字典转模型, 只能对当前调用KVC方法的对象进行转换, 不能对它的属性的对象进行转换,意思就是说:对象中的对象无法转换,需要另行进行手动转换,再次处理

setValuesForKeysWithDictionary:

你可能感兴趣的:(KVC(key value coding))