IOS KVC与KVO理解
2016-11-16 本文已影响114人
辛小二
目录
- 1 什么是KVO KVC
- 2 KVC与KVO能实现什么?
什么是KVO与KVC?
官方解释首先我们看下官方文档解释是什么样子的
NSKeyValueCoding官方地址
总结:KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。
KVC是访问对象属性的方法,K即key,V即Value,C是coding系统的编码方式。
下面说下KVC能够实现什么??以及实现的过程。
-
实现KVC的get方法
实现KVC的get方法 -
实现KVC的set方法 (通过set的给指定对象的属性进行赋值)
实现KVC的set方法
set图当中的结果等同于 person.str2 = @“美女”;(这个时候大家就该明白为什么我们常说的“.”方法就是“set”方法了吧!)
下面说下KVO能够实现什么??
其实KVO是一种模式,模式的名字叫做观察者模式,是一种监听模式,指定一个被观察对象(例如person类),当对象某个属性(例如person中的字符串str)发生更改时,对象会获得通知,并作出相应处理;且不需要给被观察的对象添加任何额外代码,就能使用KVO机制。
(在MVC设计架构下的项目,KVO机制很适合实现mode模型和view视图之间的通讯。)
- 另外一种KVO的体现体现在通知机制(notification)
详情参考通知传值的实现
以上就是我对KVC和KVO的理解,谢谢。。
本人个人微信公众号地址(喜欢记得关注😯)
辛小二个人微信公众号地址