KVOKVO是Key-value observing,俗称键值监听(键值观察),可以用于监听某个属性值的改变。 当我们在调用 addObserver:forKeyPath时,系统会在运行时动态创建NSKVONotifying_A类,同时将原来的类指针指向新创建的类。新创建的NSKVONotifying_A类是原来类的子类,目的是重写setter方法,新的setter加入了通知所有观察对象的代码。当
转载 2023-08-06 12:14:12
75阅读
一、什么是KVCKVO:1、KVC(Key-Value-Coding)内部的实现:一个对象在调用setValue的时候,(1)首先根据方法名找到运行方法的时候所需要的环境参数。(2)他会从自己isa指针结合环境参数,找到具体的方法实现的接口。(3)再直接查找得来的具体的方法实现。2、KVO(Key-Value- Observing):当观察者为一个对象的属性进行了注册,被观察对象的isa指针被修
开胃面试题1.开发中用过KVO吗?2.开发中用过KVC吗?3.一个对象的KVO是怎么实现的(KVO的本质是什么)?4.可以手动触发KVO吗?怎么触发?5.KVC跟KVO有关系吗?通过KVC修改属性会触发KVO吗?6.KVC的赋值取值过程是怎样的?原理是什么?看这篇文章之前可以先回答一下这几个面试题,然后带着问题耐心看完这篇文章,再来回答一下看看一、 KVO的基本使用KVO的全称是Key Valu
KVO,即:Key-Value Observing(键值观察),它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。
转载 2018-12-26 11:57:47
33阅读
这两天在看这个相关的的内容,看的不是很明白,所以找了段代码,理解下,网上看到最多的一段的关于kvc 的代码 一  先上代码   1 .person类 @implementation Person @synthesize name,age;//属性name 将被监视 -(void) chang
原创 2011-07-24 18:18:35
3340阅读
1点赞
1评论
KVC(键值编码)OC 字典很相似,都是键值存储。但是OC 字典比较灵活,它是一种映射。[dict setObject:<#(id)#> forKey:<#(id<NSCopying>)#>]  int main(int argc, const charchar *&nb
原创 2017-04-06 14:01:27
413阅读
  1. 怎么修改只读(readonly)属性变量    使用KVC可以修改 kvc就是键值编码(key-value),可以通过指定的key获得想要的值value,而不是通过调用 Setter,Getter 方法访问  2.KVO 除了能观察属性外,能不能观察对象     不能观察对象     KVO,即 Key-Value Observing, 它提供一种机制,当指定的对象的属性被修
# Swift 中的 KVC KVO 实现指南 在 iOS 开发中,KVC(键值编码) KVO(键值观察)是重要的概念,能够帮助我们灵活地访问观察对象的属性。本文将为刚入行的小白详细介绍如何在 Swift 中实现 KVC KVO。 ## 工作流程 下面是实现 KVC KVO 的基本步骤: | 步骤 | 描述 | |------|
原创 2024-08-07 07:45:12
179阅读
最近看了一些关于ios runtime相关的资料,看到网上有人发的关于kvo的实现原理,刚好有时间自己研究了一遍,整理下分享给初学的朋友。KVO的全称是Key-Value Observing,它实现了一种机制,对所关心的属性对象添加观察者,当属性值发生变化时会得到通知,我们可以对变化做相应的处理。看过设计模式的同学应该知道,这是一种典型的观察者模式。KVO的最大优点就是底层框架已经支持,开发人员不
# 实现Swift的KVCKVO 作为一名经验丰富的开发者,我将教会你如何实现Swift中的KVCKVO。首先,我们来看一下整个流程: ```mermaid journey title Implementing KVC and KVO in Swift section Steps Start --> Define Properties: Define pro
原创 2024-04-17 03:37:55
205阅读
一.KVC的基本概念 Key-value coding,它是一种使用字符串标识符,间接访问对象属性的机制, 而不是直接调用ge
原创 2022-05-17 19:17:16
175阅读
e observing (KVO) 是两种能让我们驾驭 Objective-C 动态特性并简化代码的机制。在这篇文章里,我们将接触一些如何利用这些特性的例子。观察 model 对象的变化在 Cocoa 的模型-视图-控制器 (Model-view-
转载 2023-05-23 08:46:02
209阅读
IOS中常用的设计模式常用的设计模式有MVC、单例、KVO、工厂、策略等。注意有人认为KVC也是属于设计模式,其实KVC是属性赋值的方式,跟设计模式无关。大家一般对MVC、单例、KVO、工厂比较熟悉,对策略稍有生疏。下面我给大家一一梳理一下,有不对的地方请大家指正。MVC模型-视图-控制器(Model-View-Controller,MVC)是Xerox PARC在20世纪80年代为编程语言Sma
转载 2024-09-24 06:51:10
38阅读
还长时间 没来了  今天分享一下 个人总结的 KCO  KVC 笔记:(如有错误,请速速联系我  愿听你的建议!)KVO 与 KVC 区别: KVO 主要用于监听属性属性改变 KVC 主要用于对某一对象的成员变量赋值  KVO:   运用KVO 监听成员属性 时   想要监听哪个 就对哪个属性监听&
一、KVO 是什么?KVO 是 Objective-C 对观察者设计模式的一种实现。KVO 提供一种机制,指定一个被观察对象(例如 A 类),当对象某个属性(例如 A 中的字符串 name)发生更改时,对象会获得通知,并作出相应处理;【且不需要给被观察的对象添加任何额外代码,就能使用 KVO 机制】在 MVC 设计架构下的项目,KVO 机制很适合实现 mode 模型 view 视图之间的通讯。例
The default implementation of the key-value coding protocol methods provided by ​​NSObject​​ work with both object and non-object properties. The default implementation automatically translates betwee
转载 2017-06-20 17:09:00
110阅读
2评论
KVC是Key Value Coding的简称,意思是键值编码,号称Cocoa的大招。它是一种可以直接通过字符串key(对象在名称)来访问或修改对象属性的机制。 使用 1.利用KVC可以随意修改一个对象的属性或者成员变量(私有的也可以修改)。 其中,key为被修改对象的名称或者其成员变量名称。 2.
转载 2016-08-21 00:06:00
66阅读
2评论
####NSObject(NSKeyValueCoding)#####Key相关//直接通过Key来取值- (nullable id)valueForKey:(NSString *)key;//通过Key来设值-...
转载 2017-12-13 12:48:00
72阅读
## iOS KVC实现过程 ### 一、KVC是什么? 在开始讲解KVC之前,我们先来了解一下KVC的概念。KVC(Key-Value Coding)是一种通过键值方式访问对象属性的机制,它允许我们通过字符串来访问对象的属性方法,而不需要明确地使用访问器方法或者设置器方法。 ### 二、KVC的使用流程 下面是一张KVC的使用流程表格,用于展示整个实现过程: | 步骤 | 操作 |
原创 2023-11-29 14:18:25
49阅读
简介KVC 是 KeyValue Coding 的简称,遵循 NSKeyValueCoding 协议,它是一种可以直接通过字符串的名字 key 来访问类属性的机制,而不是通过调用 setter、getter 方法访问。对于 KVC,Cocoa 自动放入取出基本数据类型放入 NS
原创 2023-08-15 21:55:16
141阅读
  • 1
  • 2
  • 3
  • 4
  • 5