kvc/kvo复习
- 1 小问题
'[<XMGPerson 0x7fb8a8f30220> setValue:forUndefinedKey:]: this
XMGPerson * person = [[XMGPerson alloc] init];
XMGCat *cat = [[XMGCat alloc] init];
person.cat = cat;
[person setValue:@"bob" forKey:@"name"];
[person setValue:@"12" forKey:@"old"];
[person setValue:@"tom" forKey:@"cat.name"];
NSLog(@"%@ %@", person.name, person.old);
NSLog(@"%@", person.cat.name);
[person setValue:@”tom” forKey:@”cat.name”];
错误出现在这里,forkey只能找到cat 不会再往下一层层按照路径查找对象的属性
正确的是
[person setValue:@"tom" forKeyPath:@"cat.name"];
总结 :
keypath > key
keypath 按照对象查找到根节点的属性
key 只查找一次
-
2 基本使用
- 1获取, 并设置私有属性
[person setValue:@"12" forKeyPath:@"birth"];
person.printBrith;- 2 字典转模型
待续(睡觉) 明天再更