首页 > 代码库 > KVC-键值编码是一种间接地访问实例变量的方式

KVC-键值编码是一种间接地访问实例变量的方式


KVC 键值编码是一种间接的访问实例变量的方式[对象 setValue:@“A” forKey:@“name”];
工作原理:    1.先查找该类有没有对应的setName: setter方法.如果有则调用setter方法给实例变量赋值,如果没有,转到第二步:    2.在查找带下划线的实例变量_name.如果有则给_name赋值,如果没有则转到第三步    3.最后查找和key值相同的实例变量name,如果有,则给name赋值,如果没有,转到第四步    4.调用该类的setValue:forUndefinedkey:方法如果方法没有实现,程序crash.所以一般都先实现一下setValue:forUndefinedkey:可以不写内容,但是必须写
可以用此方法快速给变量赋值
利用先用语法糖创建一个字典
NSDictionary *dic = @{@“name”:@“a”, @“gender”:@“b”, @“age”:@“c”};
[per setValueForKeysWithDictionary:dic];

KVC-键值编码是一种间接地访问实例变量的方式