IOS KVC与KVO理解

目录
  • 1 什么是KVO KVC
  • 2 KVC与KVO能实现什么?
什么是KVO与KVC?

首先我们看下官方文档解释是什么样子的
NSKeyValueCoding官方地址

IOS KVC与KVO理解_第1张图片
官方解释
 总结:KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。
 KVC是访问对象属性的方法,K即key,V即Value,C是coding系统的编码方式。
下面说下KVC能够实现什么??以及实现的过程。
  • 实现KVC的get方法


    IOS KVC与KVO理解_第2张图片
    实现KVC的get方法
  • 实现KVC的set方法 (通过set的给指定对象的属性进行赋值)


    IOS KVC与KVO理解_第3张图片
    实现KVC的set方法

    set图当中的结果等同于 person.str2 = @“美女”;(这个时候大家就该明白为什么我们常说的“.”方法就是“set”方法了吧!)

下面说下KVO能够实现什么??

其实KVO是一种模式,模式的名字叫做观察者模式,是一种监听模式,指定一个被观察对象(例如person类),当对象某个属性(例如person中的字符串str)发生更改时,对象会获得通知,并作出相应处理;且不需要给被观察的对象添加任何额外代码,就能使用KVO机制。
(在MVC设计架构下的项目,KVO机制很适合实现mode模型和view视图之间的通讯。)

  • 另外一种KVO的体现体现在通知机制(notification)
    详情参考通知传值的实现

以上就是我对KVC和KVO的理解,谢谢。。

本人个人微信公众号地址(喜欢记得关注)


IOS KVC与KVO理解_第4张图片
辛小二个人微信公众号地址

你可能感兴趣的:(IOS KVC与KVO理解)