What is the difference between KVC and KVO?

KVC (Key-Value Coding) is a runtime way of accessing an object’s properties using strings rather than knowing the property names statically during construction.
A controller or class can use KVO (Key-Value Observing) to track changes in a property value. In KVO, an object can request to be alerted of any changes to a specific property, and the observer will be automatically notified if the value of that property changes.