kvc模式详解

java利用反射机制访问类的 私有变量。OC的KVC模式也是一样,用来访问私有变量用的。

用字符串去访问对象实例变量的机制。

//KVC模式
-(void)KVCtest{
 [_dm valueForKey:@"age"]);
[_dm setValue:[NSNumber numberWithInt:168]forKey:@"age"];

}

      (1). key的值必须正确,如果拼写错误,会出现异常

  (2). 当key的值是没有定义的,valueForUndefinedKey:这个方法会被调用,如果你自己写了这个方法,key的值出错就会调用到这里来

  (3). 因为类key反复嵌套,所以有个keyPath的概念,keyPath就是用.号来把一个一个key链接起来,这样就可以根据这个路径访问下去

  (4). NSArray/NSSet等都支持KVC

 

posted @ 2016-11-02 17:33  藏无草  阅读(150)  评论(0)    收藏  举报