KVC相关

什么时候用KVC?
当需要做一些快速缩放,平移,二维的旋转时用KVC.
比如: [_imageView.layer setValue:@0.5 forKeyPath:@"transform.scale"]; 快速的进行缩放.
后面forKeyPath属性值不是乱写的.苹果文档当中给了相关的属性.

KVC底层实现
// setValue:forKey:底层实现
// 给模型中的icon属性赋值
// [flag setValue:dict[@"icon"] forKey:@"icon"];

// 1.首先去寻找模型中有木有setIcon:方法,直接调用setIcon:方法,[flag setIcon:dict[@"icon"]]
// 2.接着寻找模型中有没有icon的属性名,如果有,就直接赋值 icon = dict[@"icon"]

// 3.接着寻找模型中有没有_icon的属性名,如果有,就直接赋值 _icon = dict[@"icon"]

// 4.找不到,直接报错,setValue:forUndefinedKey:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容