- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor greenColor];
//KVC:key value coding 键值编码
//间接给model属性赋值,提高代码效率
//KVO:设计模式 (观察者模式):key value observe
//观察model属性值变化
//一般用在股票数据刷新上,实时观察股票值变化
self.per = [[Person alloc]init];
[self.per setValue:@"张三" forKey:@"name"];
[self.per setValue:@"123" forKey:@"passWord"];
//参数1 设置当前类的对象观察model属性值
//参数2 设置观察那个属性
//参数3,设置观察属性的类别
//参数4,设置观察内容
[self.per addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:@"观察name的属性"];
// Do any additional setup after loading the view.
}
//获得观察属性的变化值,当属性变化的时候该方法会被触发
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
NSLog(@"%@%@",keyPath,change);
}
[super viewDidLoad];
self.view.backgroundColor = [UIColor greenColor];
//KVC:key value coding 键值编码
//间接给model属性赋值,提高代码效率
//KVO:设计模式 (观察者模式):key value observe
//观察model属性值变化
//一般用在股票数据刷新上,实时观察股票值变化
self.per = [[Person alloc]init];
[self.per setValue:@"张三" forKey:@"name"];
[self.per setValue:@"123" forKey:@"passWord"];
//参数1 设置当前类的对象观察model属性值
//参数2 设置观察那个属性
//参数3,设置观察属性的类别
//参数4,设置观察内容
[self.per addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:@"观察name的属性"];
// Do any additional setup after loading the view.
}
//获得观察属性的变化值,当属性变化的时候该方法会被触发
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
NSLog(@"%@%@",keyPath,change);
}