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];
时间: 2024-10-15 02:16:41