(十三)addObserver:forKeyPath:options:context:各个参数的作用分别是什么;以及调用

前言

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

是什么

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;
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容