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

KVO

时间:2016-01-03 02:47:27      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

- (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); }

 

KVO

标签:

原文地址:http://www.cnblogs.com/mshong1616/p/5095724.html

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