首页 > 学院 > 开发设计 > 正文

KVC/KVO

2019-11-14 19:09:37
字体:
来源:转载
供稿:网友
 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属性为xiaowang19 [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"]);}

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表