KVOController的使用

2019-07-18  本文已影响0人  单线程Jack
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
上一篇 下一篇

猜你喜欢

热点阅读