美文网首页
问题:addObserver:forKeyPath:option

问题:addObserver:forKeyPath:option

作者: 姜小舟 | 来源:发表于2020-05-11 13:01 被阅读0次
    • addObserver:forKeyPath:options:context:各个参数的作用分别是什么
    /**
     1. self.student:要监听的对象
     2. 参数说明:
        * @param addObserver  观察者,负责处理监听事件的对象
        * @param forKeyPath 要监听的属性
        * @param  options 观察的选项(观察新、旧值,也可以都观察)
        * @param context 上下文,用于传递数据,可以利用上下文区分不同的监听
     */
    [self.student addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:@"Person Name"];
    
    • observer中需要实现哪个方法才能获得回调?
      当监控的某个属性的值改变了就会调用
    /**
     *  当监控的某个属性的值改变了就会调用
     *
     *  @param keyPath 监听的属性名
     *  @param object  属性所属的对象
     *  @param change  属性的修改情况(属性原来的值`oldValue`、属性最新的值`newValue`)
     *  @param context 传递的上下文数据,与监听的时候传递的一致,可以利用上下文区分不同的监听
     */
    - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
    {
        NSLog(@"%@对象的%@属性改变了:%@", object, keyPath, change);
    }
    

    相关文章

      网友评论

          本文标题:问题:addObserver:forKeyPath:option

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