kvc/kvo复习

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 字典转模型
      待续(睡觉) 明天再更
posted @ 2015-09-05 23:37  TobeFrank  阅读(120)  评论(0编辑  收藏  举报