pod 'KVOController', '~> 1.2.0'
#import <KVOController/KVOController.h>
// create KVO controller with observer
FBKVOController *KVOController = [FBKVOController controllerWithObserver:self];
self.KVOController = KVOController;
// observe clock date property
[self.KVOController observe:clock keyPath:@"date" options:NSKeyValueObservingOptionInitial|NSKeyValueObservingOptionNew block:^(ClockView *clockView, Clock *clock, NSDictionary *change) {
// update clock view with new value
clockView.date = change[NSKeyValueChangeNewKey];
}];
虽然简单,但上面的例子是完整的。时钟视图创建一个KVO控制器来观察时钟日期属性。块回调用于处理初始和更改通知。由于KVOController
保留了对该控件的强引用,因此在控制器释放时隐式发生了观察。
注意:指定的观察者必须支持弱引用。归零弱引用可防止解除分配的观察者实例的通知。
NSObject类别
为了更容易使用,仅#import <KVOController/NSObject+FBKVOController.h>
针对KVOController
所有对象的自动属性。
[ self .KVOController 观察:clock keyPath:@“ date ” 选项:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionN
网友评论