KVO基本使用方法

KVO属于观察者模式的一种机制,Key value observer ,顾名思义,键值观察者,主要功能就是观察某一个对象的属性变化,以便根据对象的变化,做出相应的操作。



1.创建一个项目,然后,创建一个继承自NSObject的类AppStatusWatcher


2.在AppStatusWatcher作为观察者,加入


观察者内部的具体操作,观察到属性变化后,做相应的操作,我们这里只做的打印处理,观察属性变化情况

3.然后在appdelegate引入 观察者这个类 并在appdelegate里面定义两个属性

appStatus作为需要watcher观察的本VC的属性


4 注册观察者,

self.watcher = [AppStatusWatcher new];

[self addObserver:self.watcher forKeyPath:@"appStatus" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:@"Pass Context"];

self.appStatus = @"launch";


方法里:addObserver为注册观察者,keyPath

option后面是 观察的是啥,如我这里观察的是新旧值


5.2016-07-15 10:44:09.245 KVO机制练习[18101:1212705] Property 'appStatus'of object '' changed:{    kind = 1;    new = launch;    old = "";},context:Pass Context2016-07-15 10:44:09.249 KVO机制练习[18101:1212705] Property 'appStatus'of object '' changed:{

kind = 1;

new = active;

old = launch;

},context:Pass Context

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容