KVC
KVC 是 Key-value coding 的缩写,是一种通过 key-value 的方式获取对象属性的机制。
这个 key 是一个 String 的唯一标示符,这个 key 的 name 约定是必须是 ASCII 码、小写字母开头、中间不能有空格。
让一个类实现 KVO 的方式是遵循 NSKeyValueCoding 这个协议,该协议中定义了 2 个方法:valueForKey:
and setValue:forKey:
. 这两个方法用来通过 key 访问和获取对象属性。
More about KVC
KVO
Apple Document about KVO
KVO 的实现方式:isa-swizzing
Lightweight Key-Value Observing