美文网首页iOS技术文章
KVC与KVO的基本介绍☀️

KVC与KVO的基本介绍☀️

作者: LeaderBiao | 来源:发表于2016-06-25 17:21 被阅读25次

版权声明:本文为博主原创文章,未经博主允许不得转载。

KVC

KVC是Key-Value-Coding的缩写

意思指 用Key和Value来编写代码。
核心思想是对象均由很多个Key组成,对对象的操作全部落实到Key上。
我们写的OC对象都有自己的实例变量(有可能随属性自动附带)。
KVC便指不通过setter和getter方法来获取实例变量的值,而是用实例变量的名字来获取值.
KVC不仅能代替setter和getter方法,还能无视readonly标记的属性。
如果这个属性是有同名实例变量,并且它是readonly,那么KVC即可无视只读,来实现修改该属性

以下是KVC常用用法:

//**********设置值*********
[obj setValue:value forKey:@“key”];
[obj setValue:value forKeyPath:@“key.subKey.subSubKey”];

//取值
[obj valueForKey:@“key”];
[obj valueForKeyPath:@“key.subKey,subSubKey”];//如果subKey对应是一个对象,该方法可以获取改对象的subSubKey的值
[obj valueForKey:@“key.subKey”];//如果keys是一个数组,该方法可以提取数组中每一个成员的subKey的值合成一个新的数组返回出来

//********数学计算*********
[obj valueForKeyPath:@“key.@sum.valueKey”];//如果keys是一个数组,则提取所有valueKey的值加起来返回.

[obj valueForKeyPath:@“key.@avg.valueKey”];//如果keys是一个数组,则提取所有valueKey的值取平均值返回.```


##KVO
`KVO是Key-Value-Observer的缩写,全名观察者模式。`

>它是一个基于KVC的事件回掉方式
KVO和KVC不是同一个层次的东西,因为他们的目的不一样,所以面试官问起他们的区别。你们别只回答 字母不一样。应该回答:压根就没有什么可比较的,因为实现目的就不一样。

`KVO是指 添加一个第三方观察者,去监视一个Key的Value是否有变化,当Key的Value变化后,就会执行一个方法中的代码。
KVO大量消耗系统资源,如果你想在事件回调中使用KVO,可以参考那篇文章(事件回调)。`

相关文章

  • KVC与KVO的基本介绍☀️

    版权声明:本文为博主原创文章,未经博主允许不得转载。 KVC KVC是Key-Value-Coding的缩写 意思...

  • KVO和KVC的使用及原理解析

    一 KVO基本使用 二 KVO本质原理讲解及代码验证 三 KVC基本使用 四 KVC设值原理 五 KVC取值原理 ...

  • KVC、KVO的本质

    这篇文章介绍KVC、KVO的本质。如果你对KVC、KVO不了解,推荐先查看其用法:KVC和KVO学习笔记[http...

  • IOS KVC与KVO理解

    目录 1 什么是KVO KVC 2 KVC与KVO能实现什么? 什么是KVO与KVC? 首先我们看下官方文档解释是...

  • KVC-KVO

    https://github.com/leejayID/KVC-KVO 此文章详细介绍了KVC和KVO的使用,适合...

  • iOS中KVC及KVO的简单理解

    一、KVC及KVO的介绍 KVC:即Key-Value-Coding,用于键值编码。KVO:即Key-Value-...

  • KVC 与 KVO 理解

    原路径:https://magicalboy.com/kvc_and_kvo/KVC 与 KVO 是 Object...

  • delegate和notification区别,分别在什么情况下

    KVC(Key-Value-Coding)KVO(Key-Value-Observing)理解KVC与KVO(键-...

  • 探索KVC和KVO的本质

    原文链接: 探索KVC和KVO的本质 这篇文章主要介绍KVO和KVC, 机器底层是如何实现的 KVO的全称是Key...

  • KVC、KVO

    KVC、KVO探识(一)KVO和KVO的详细使用 KVC、KVO探识(二)KVC你不知道的东西 KVC、KVO探识...

网友评论

    本文标题:KVC与KVO的基本介绍☀️

    本文链接:https://www.haomeiwen.com/subject/udjadttx.html