KVC


key-value-coding

通过key值去取值和赋值

主要方法

setValue:forKey:(为对象的属性赋值)

setValue: forKeyPath:(为对象的属性赋值(包含了setValue:forKey:的功能,并且还可以对对象内的类的属性进行赋值))

valueForKey:(根据key取值)

valueForKeyPath:(根据keyPath取值)

setValuesForKeysWithDictionary:(对模型进行一次性赋值)

KVC和setter和getter方法的区别

可以给私有属性赋值

valueForKeyPath和valueForKey的区别

valueForKeyPath可以给属性的属性赋值

赋值原理

1.去模型中查看是否有setter方法,有就直接调用

2.查看是否有属性icon,有就直接赋值 icon = dict[@"icon"]

3.查看是否有_icon属性,有就直接赋值_icon=dict[@"icon"]

keyPath的巧妙用法

将people中所有的name首字母大写

[array valueForKeyPath:@"name.capitalizedString"]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容