美文网首页macOS开发备忘录
(十三)addObserver:forKeyPath:optio

(十三)addObserver:forKeyPath:optio

作者: 叔叔不吃棒棒糖 | 来源:发表于2017-07-14 10:11 被阅读56次

前言

是的颓废了很久之后,我又回来了

是什么

addObserver:forKeyPath:options:context:各个参数的作用分别是什么

[object addObserver: observer forKeyPath: @"frame" options: 0 context: nil];
  • object: 被观察者
  • observer: 观察者
  • options: 有四个值
    1、NSKeyValueObservingOptionNew 把更改之前的值提供给处理方法
    2、NSKeyValueObservingOptionOld 把更改之后的值提供给处理方法
    3、NSKeyValueObservingOptionInitial 把初始化的值提供给处理方法,一旦注 册,立马就会调用一次。通常它会带有新值,而不会带有旧值。
    4、NSKeyValueObservingOptionPrior 分2次调用。在值改变之前和值改变之后。
  • context:上下文,可以带一些参数,任何类型都可以

怎么用

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

相关文章

网友评论

    本文标题:(十三)addObserver:forKeyPath:optio

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