码迷,mamicode.com
首页 > 其他好文 > 详细

KVC/KVO

时间:2015-04-29 19:24:46      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

 1 //KVC(Key Value Coding)
 2 //KVC的作用给某个对象的属性赋值,和点语法中的赋值的作用相同
 3 Student *stu=[[Student alloc]init];
 4 [stu setValue:@"xiaowang" forKey:@"name"];
 5 NSLog(@"%@",stu.name);
 6 
 7 
 8 //KVO(Key Value Observer)
 9 //给学生对象添加观察者
10 //第一个参数为谁去观察学生
11 //第二个参数为观察学生的那个属性
12 //第三个参数为观察方式
13 
14 //实例化学生对象
15 stu=[[Student alloc]init];
16 [stu setValue:@"zhangsan" forKey:@"name"];
17 [stu addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];
18 //从新设置学生对象的name属性为xiaowang
19 [stu setValue:@"xiaowang" forKey:@"name"];
//观察者发现被观察的属性发生改变时调用该方法,谁是观察者就写在谁的.m里
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    NSLog(@"new:%@",[change objectForKey:@"new"]);
    NSLog(@"old:%@",[change objectForKey:@"old"]);
}

 

KVC/KVO

标签:

原文地址:http://www.cnblogs.com/y16879w/p/4466478.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!