您的位置:首页 > 其它

KVO

2016-01-03 02:13 211 查看
- (void)viewDidLoad {
[super viewDidLoad];

self.person = [[Person alloc] init];
self.person.name = @"why";

// 监听person对象name属性发生改变
// Observer : 观察者,谁要做事情谁就成为观察者
// KeyPath : 观察的属性
// options : 传入新值还是旧值
  
  给对象添加监听的方法
[self.person addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionOld context:nil];

self.person.name = @"lmj";
}

// 1.KeyPath: 属性 2.Object : 观察对象 3.change:存放着对应改变的值

实现监听的方法----监听
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context
{
NSLog(@"keyPath:%@ object:%@ change:%@", keyPath, object, change);
NSLog(@"%@", self.person.name);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: