美文网首页
KVO 键值监听 / KVC 键值编码

KVO 键值监听 / KVC 键值编码

作者: zcz19911 | 来源:发表于2018-07-19 18:34 被阅读0次

KVO(Key-Value Observing)本质是监听set方法,重写set方法。

过程:

1、动态生成一个 NSKVONotifying_Class 的子类

2、改变父类的 isa 指针,指向动态创建的子类

3、添加 setName 方法(重写)

4、保存观察者(关联属性)

void setName (id self, SEL _cmd, NSString *str) 

{

    1、保存当前的Class

    2、将self指针指向父类

    3、调用父类的setName

    4、拿出观察者

    5、通知外界

    6、改回子类

}

KVC(Key-Value Coding):直接使用一个或一串字符串标识符去访问,操作类的属性。

- (nullable id)valueForKey:(NSString*)key; 的调用顺序:

先调用相关方法:

getKey > Key > isKey

如果没有相关方法,就会调用下面这个方法:

+(BOOL)accessInstanceVariablesDirectly。

如果返回NO,程序就报错;如果返回YES(默认返回YES),就去找相关变量。顺序如下:0

_key > _isKey > key > isKey

相关文章

  • 关情纸尾---UIKit基础-简述KVC和KVO

    ♥概述 ♥键值编码KVC ♥点语法和KVC ♥ 键值监听KVO ♥KVO的使用步骤也比较简单:

  • KVO 键值监听 / KVC 键值编码

    KVO(Key-Value Observing)本质是监听set方法,重写set方法。 过程: 1、动态生成一个 ...

  • 你真的了解KVO和KVC吗

    KVO和KVC的表面意思很简单,KVO是键值观察者,用来进行事件的监听;KVC则是键值编码,通过对象的Key来来...

  • KVC 和 KVO用法介绍

    KVO:键值监听:用于监听某个属性的改变,并做一些处理 KVC:键值编码 KVC赋值,取值,一些计算功能 1.给模...

  • iOS中的KVC与KVO,NSNotification通知

    问题: 什么是键值编码KVC,键路径是什么? 什么是键值观察KVO? 键值编码KVC: 键值编码是一种在NSKey...

  • KVC键值编码 & KVO键值监听

    KVC简介 我们知道可以通过setter、getter方法来设置和修改对象的属性,也知道如何通过简化的点语法来设置...

  • iOS 基础知识(面试)深度理解-- 不断更新

    什么是KVC,什么是KVO,他们之间关系.底层实现 键值编码 Key-Value-Coding(KVC) 键值编码...

  • KVO 和 KVC

    1、KVC NSKeyValueCoding,即键值编码 2、KVO KeyValue Observe,即键值观察...

  • iOS KVC和KVO

    7.11 KVC和KVO KVC 定义:键值编码 使用 //1.直接存键值 [p1 setValue:@"...

  • KVC,KVO

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

网友评论

      本文标题:KVO 键值监听 / KVC 键值编码

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