KVC原理

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

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进行多级访问时,直接类似于属性调用一样用点语法进行访

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值