KVC

作者: 小希嘻 | 来源:发表于2018-07-16 11:13 被阅读17次

KVC

1、 KVC - Key Value Coding键值(路径)编码

2、KVC是一种间接修改/读取对象属性的一种方式

3、KVC在使用时,需要注意,键值名称在对象属性中必须存在,否则会崩溃!

4、 KVO - Key Value Observer键值观察(观察者模式)

5、通知中心同样也是观察者模式

KVC 概述

定义:在对象创建完成之后,动态(牵扯到运行时)的给对象属性赋值。

KVC,即是指NAKeyValueCodeing,一个非正式的Protocol,提供一种机制来间接访问对象的属性。而不是通过setter、getter方法访问。

因为类key反复嵌套,所以有个keyPath的概念,keyPath就是用.号来把一个一个key连接起来,这样就可以根据这个路径访问下去。

KVC,还有一个很重要的特点,自动装箱拆箱功能。这在ObjC中是仅有的,其他情况下均需要使用比如NSnumber来手动拆箱的。

装箱:把值类型转换成引用类型 若是int 转换成NSNumber或者NSString

拆箱:将引用类型转换成值类型 与上面相反

KVC,还可以对NSArray和NSSet 进行赋值

通过字典去进行赋值(不要忘了重写那个方法)

具体主要分为三大步:

  • 第一步:寻找该属性有没有setsetter方法?有,就直接赋值

  • 第二步:寻找有没有该属性带下划线的成员属性?有,就直接赋值

  • 第三步:寻找有没有该属性的成员属性?有,就直接赋值

若对象没有值

在运行时给私有属性或者可读属性进行赋值

注意:归档和解档的方法不是KVC,而是NSCoding 这个协议


相关文章

  • KVC详解

    KVC 目录结构KVC定义KVC取值和设置KVC使用keyPathKVC处理字典KVC作用 参考:iOS KVC和...

  • iOS原理篇(二): KVC实现原理

    KVC实现原理 什么是 KVC KVC基本使用 KVC 原理 总结 一 、 什么是KVC KVC的全称是Key-V...

  • iOS 关于KVC的一些总结

    本文参考: KVC官方文档 KVC原理剖析 iOS KVC详解 KVC 简介 KVC全称是Key Value Co...

  • KVC,KVO

    KVC , KVO KVC和KVO的区别及应用 KVC/KVO原理 1. KVC键值编码 KVC,即是指NSKey...

  • iOS 关于KVC的一些总结(转)

    原文:iOS 关于KVC的一些总结 本文参考: KVC官方文档 KVC原理剖析 iOS KVC详解 KVC 简介 ...

  • OC语法:KVC的底层实现

    一、KVC是什么二、怎么使用KVC三、KVC的底层实现四、KVC常见面试题 一、KVC是什么 KVC全称Key-V...

  • 19.iOS底层学习之iOS底层学习之KVC

    本篇提纲1、KVC的基本介绍2、KVC的API3、KVC的写入过程4、KVC的读取过程5、自定义KVC KVC的基...

  • iOS【KVC&KVO】

    kvc 1. KVC 1.1 KVC概念 KVC全称是Key Value Coding,定义在NSKeyValue...

  • ios开发UI篇—Kvc简单介绍

    一、KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC...

  • KVC的简单使用

    KVC字典转模型 KVC 中经常使用的就是字典转模型 KVC的大招 KVC设置对象属性及取值 KVC间接设置对象属...

网友评论

      本文标题:KVC

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