OC 中 KVO 的原理总结
KVO(Key Value Observing),可以用来监听一个对象键值的变化,当键值变化时,触发回调函数,做相应的操作,主要用法总结如下:
// 注册Observer: observer:观察者, keyPath:要观察的属性名称, options:对KVO机制进行配置, context: 传入任意类型的对象
addObserver:forKeyPath:options:context:
// 接收通知: keyPath:被监听的对象的属性,object:被监听的对象,change:被监听的对象的属性值的变化,是一个字典,
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
// 移除观察者
-removeObserver:forKeyPath:
举个例子:
@interface Person : NSObject
@property (copy) NSString *gender;
@property (assign) int age;
@end
@implementation Person
@end
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
P