KVO的全称 Key-Value Observing,俗称“键值监听”,可以用于监听某个对象属性值的改变。
KVO是一种机制,它答应将其他对象的指定属性的更改通知给对象。
在iOS官方文档中有这么一句话:
明白KVO之前,必须先明白KVC(即KVO是基于KVC基础之上)
In order to understand key-value observing, you must first understand key-value coding.
KVC是键值编码,在对象创建完成后,可以动态的给对象属性赋值,而KVO是键值观察,提供了一种监听机制,当指定的对象的属性被修改后,则对象会收到通知,所以可以看出KVO是基于KVC的基础上对属性动态变化的监听
我们知道NSNotificatioCenter也是一种监听方式,那么KVO与NSNotificatioCenter有什么区别呢?