kvc

作者: yxibng | 来源:发表于2018-12-25 00:03 被阅读0次

kvc

底层驱动NSKeyValueCoding 协议

NSKeyValueCoding

Getting Values

- valueForKey:
- valueForKeyPath:
- dictionaryWithValuesForKeys:
- valueForUndefinedKey:

Setting Values

- setValue:forKey:
- setValue:forKeyPath:
- setValuesForKeysWithDictionary:
- setNilValueForKey:
- setValue:forUndefinedKey:

ValidateValue

- validateValue:forKey:error:`
- validateValue:forKeyPath:error:`

一些总结

  1. 支持kvc的类需要实现NSKeyValueCoding协议,继承自NSObject的类,默认已经实现了协议的方法,直接支持kvc,你可以重写这些方法,提供自己的实现。
  2. 可以修改公开属性,也可以修改私有属性,私有的成员变量
  3. 访问一个不存在的key的值,- valueForUndefinedKey:会抛出NSUndefinedKeyException异常,要重写这个方法,做一些自己的处理
  4. 修改一个不存在的key的值,- setValue:forUndefinedKey:会抛出NSUndefinedKeyException异常,要重写这个方法,做一些自己的处理
  5. setNilValueForKey:去设置一个标量(如int, float, struct)的时候,会抛出 NSInvalidArgumentException异常,要重写这个方法,提供自己的处理(提供默认值或者生成一个值)
  6. 设置一个标量属性的值得时候,需要转换为NSValue
  7. +(BOOL)accessInstanceVariablesDirectly
    • 返回NO,禁止直接访问成员变量
    • 返回YES,可以直接访问成员变量
  8. 对集合对象的方便操作
    • Aggregation Operators
      • @avg
      • @count
      • @max
      • @min
      • @sum
    • Array Operators
      • @distinctUnionOfObjects
      • @unionOfObjects
    • Nesting Operators
      • @distinctUnionOfArrays
      • @unionOfArrays
      • @distinctUnionOfSets

示例代码

参考kvc_kvo

相关文章

  • 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/fbuzkqtx.html