KVO/KVC

KVO 全称是 Key Value Coding,是指通过setValue:forKey:valueForKey:valueForKeyPath:的方式动态获取和设置一个对象的属性。

KVC 全称是 Key Value Observing,通过 KVC 可以监听一个对象的属性的变化,常用方法如下

  • 注册指定Key路径的监听器:addObserver: forKeyPath: options: context:
  • 删除指定Key路径的监听器:removeObserver: forKeyPathremoveObserver: forKeyPath: context:
  • 回调监听:observeValueForKeyPath: ofObject: change: context:

KVO的使用步骤也比较简单:

通过addObserver: forKeyPath: options: context:为被监听对象(它通常是数据模型)注册监听器
重写监听器的observeValueForKeyPath: ofObject: change: context:方法