KVO实现

作者: 说不出情绪 | 来源:发表于2019-12-20 13:40 被阅读0次

    观察对象添加观察者( observer ):

    // 添加键值观察
    /*
    1 观察者,负责处理监听事件的对象
    2 观察的属性
    3 观察的选项
    4 上下文
    */
    [self.person addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:@"Person Name"];
    

    observer中需要实现一下方法:

    // 所有的 kvo 监听到事件,都会调用此方法
    /*
     1. 观察的属性
     2. 观察的对象
     3. change 属性变化字典(新/旧)
     4. 上下文,与监听的时候传递的一致
     */
    - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context;
    

    相关文章

      网友评论

          本文标题:KVO实现

          本文链接:https://www.haomeiwen.com/subject/aptinctx.html