KVC(Key-Value Coding)即是指NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。
通过如下图所示的例子能够能明了的理解KVC:
Person.h main运行输出:
2016-10-09 16:24:16.346074 Test[4845:1686719] KVO前father.name =小明,father.address =软件园,spouse.name =小红
2016-10-09 16:24:16.346280 Test[4845:1686719] KVO前father.name = shefeng,father.address = ruanjianyuan ,spouse.name = luyuanyuan
备注:
key 与 keypath 要区分开来,key 可以从一个对象中获取值,而 key path 可以将多个 key 用点号 “.” 分割连接起来
KVO(Key-Value Observing)是建立在 KVC 之上,它能够观察一个对象的 KVC key path 值的变化。
通过如下图所示的例子能够能明了的理解KVO:
KVO demo
网友评论