- KVC(NSKeyValueCoding)
- 常用的KVC方法:setValue: forKey:与setValue: forKeyPath:
- 这两个方法的区别在于Key和KeyPath所传的字符串不同
- Key:只能传对象的属性名
- KeyPath:既能传对象的属性名,也可以传对象的对象属性的属性,甚至多层属性值
- 示例代码如下:
// s对象有一个名为ID的属性和一个名为person的对象属性,person对象又有一个age属性
// setValue: forKey:只能给ID属性赋值
// setValue: forKeyPath:既能给ID属性赋值,又能给person对象的age属性赋值
[s setValue:@1 forKey:@"ID"];
[s setValue:@27 forKeyPath:@"ID"];
[s setValue:@27 forKeyPath:@"person.age"];
- KVC使用注意:value值不能为空
- 常用的KVC方法除过上面两个还有
setValuesForKeysWithDictionary:(nonnull NSDictionary<NSString *,id> *)
这个方法常用于字典转模型