E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
KVC
KVO 和
KVC
一、KVOKVO的是KeyValueObserve的缩写,中文是键值观察。这是一个典型的观察者模式,利用它可以很容易使用实现视图组件和数据模型的分离,当数据模型的属性值改变之后作为监听器的视图组件就会被激发,激发时就会回调监听器自身,在Objc中实现KVO则必须实现NSKeyValueObServing协议,不过幸运的是NSObject已经实现了该协议,因此几乎所哟的NSObjectd对象都可以使
风依旧_c080
·
2023-03-14 00:14
IOS - KVO原理分析
我们知道
KVC
会修改成员变量,那么它会触发KVO吗?如何监听可变数组的改变?看到上述问题,你有答案了吗?如果你有疑惑,带着疑问我们开启一段KVO的探索之旅。KVO全
Typeco
·
2023-03-13 22:29
iOS【
KVC
&KVO】
kvc
1.
KVC
1.1
KVC
概念
KVC
全称是KeyValueCoding,定义在NSKeyValueCoding.h文件中,是一个非正式协议。
iCuiCui
·
2023-03-13 14:35
头条—最新iOS面试题总结
头条一面1、自我介绍2、项目相关3、怎么自定义导航跳转4、谈谈runtime的理解5、
KVC
的用途6、使用methodswizzling要注意什么?
iOS猿_员
·
2023-03-13 12:55
底层探索--KVO、
KVC
的本质
KVO原理基本使用//添加监听[selfaddObserver:forKeyPath:options:context:]//参数详解:Observer:观察者对象,一般self;keyPath:观察的属性,字符串属性,一般采用系统的反射机制NSStringFromSelector(@selector(keypath))options:枚举NSKeyValueObservingOptionNew//
永断阎罗
·
2023-03-12 07:56
Runtime&
KVC
知识回顾
KVC
底层原理遍历字典,一一赋值-(instancetype)initWithDict:(NSDictionary*)dict{MyModel*item=[[MyModelalloc]init];[selfenumerateKeysAndObjectsUsingBlock
遮住眼睛的草纸
·
2023-03-11 16:19
iOS开发 属性关键字
一、属性分为三大类1、读写性控制readOnly只读,只会生成get方法,不会生成set方法(但外部还是可以用
KVC
去赋值)readWrite可读可写,会生成set方法,也会生成get方法(默认设置)2
Hiker5
·
2023-03-10 22:54
iOS高手
iOS开发课)读书笔记居然是村长:CoreGraphics、AddressBookiOS_小久:Runtime、Swift高级分享、iOS开发高级分享、iOS核心动画高级技巧一意孤行的程序猿:iOS面试、
KVC
随行的羊
·
2023-03-09 23:34
KVO&
KVC
KVO是(Key-valueObserve)Objective-C对观察者模式(ObserverPattern)的实现。也是CocoaBinding的基础。当被观察对象的某个属性发生更改时,观察者对象会获得通知。有意思的是,你不需要给被观察的对象添加任何额外代码,就能使用KVO。这是怎么做到的?监听.png未使用KVO监听的对象未使用KVO.png使用了KVO监听的对象使用了KVO.pngKVO的
知之未道
·
2023-03-09 20:41
GNUstep
KVC
/KVO探索(一):
KVC
的内部实现
GNUstepKVC/KVO探索(一):
KVC
的内部实现GNUstepKVC/KVO探索(二):KVO的内部实现
KVC
全称是KeyValueCoding,定义在NSKeyValueCoding.h文件中
哦呵呵y
·
2023-03-09 19:03
KVO、
KVC
原理
KVO原理KVO全称Key-ValueObserving,俗称"键值监听",可以用于某个对象属性值得改变未使用KVO监听的对象使用了KVO监听的对象KVO的原理解释利用Rumtime动态生成一个子类,并让instance对象的isa指向这个全新的类,当instance对象的属性修改时,会调用Foundation的_NSSetXXXValueAndNotify函数,该函数内部的调用流程是,先调用wi
CoderKK
·
2023-03-09 16:14
正确使用KVO的姿势
使用KVO的前提条件该类必须满足
KVC
命名约定查看此处该类可以触发属性变更的KVO通知继承自NSObject的类默认由NSObject实现该功能依赖的属性被正确的注册到KVO。
Daved
·
2023-03-09 07:41
iOS笔记。oc语法、runtime、runloop、多线程、内存管理、性能优化、设计模式、项目管理。
简述一下
KVC
?
KVC
的赋值和取值过程是怎样的?原理是什么?Category的使用场合是什么?Category的实现原理?Category和ClassExtension的区别是什么?
lym不解释
·
2023-02-15 14:06
OC之
KVC
KVCKVC的全称是Key-ValueCoding,俗称“键值编码”,可以通过一个key来访问某个属性常见的API有-(void)setValue:(id)valueforKeyPath:(NSString*)keyPath;-(void)setValue:(id)valueforKey:(NSString*)key;-(id)valueForKeyPath:(NSString*)keyPath;
iOS小洁
·
2023-02-09 15:52
KVC
本文章的代码来源gnustep-base-1.26.0,应该和系统的实现还是不一样的,仅供参考:常用方法+(BOOL)accessInstanceVariablesDirectly;//是否允许访问成员变量,默认是yes-(void)setValue:(id)anObjectforKey:(NSString*)aKey;-(void)setValue:(id)anObjectforKeyPath:
forping
·
2023-02-06 17:07
KVO底层原理
一、概念定义图片.png由官网文档可见,通过对
KVC
的了解,也是对KVO的进一步升华。KVO是Objective-C对观察者模式(ObserverPattern)的实现。
CS_SDN
·
2023-02-06 09:16
iOS全解8:iOS启动优化、iOS性能优化、App后台保活、崩溃检测
iOS全解1:基础/内存管理/Block/GCDiOS全解2:RunloopiOS全解3:RuntimeiOS全解4:
KVC
/KVO、通知/推送/信号量、Delegate/Protocol、SingletoniOS
lukyy
·
2023-02-05 19:47
iOS开发 KVO探寻
2.KVO实现原理3.通过
KVC
设置value值KVO能否生效?4.通过成员变量直接赋值KVO能否生效?
pipiOU
·
2023-02-05 16:44
OC中BOOL和bool遇到的坑
抛出问题:今天在做业务的时候,用到了键值编码(
KVC
赋值)来访问要存取的类的属性的setValue:forKeyPath:这个方法,在类型.h文件中声明了一个@property(nonatomic,assign
Peter_Zhang
·
2023-02-04 18:16
KVC
中的集合运算符
简单实用的集合运算符
KVC
中的集合运算符有以下三类:1、简单集合运算符:@avg、@sum、@max、@min、@count(只能用在集合对象中,对象属性必须为数字类型)2、对象操作符:@unionOfObjects
柴家二少001
·
2023-02-03 09:37
iOS-
KVC
KVC
(KeyValueCoding)--键值编码:是间接访问实例变量的方式。指的是在iOS的开发中可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。
指头飞血
·
2023-02-02 19:30
Swift之深入解析反射Mirror与错误处理
要比其他语言中的反射强大的多,在OC中可以很简单的实现字符串和类型的转换(NSClassFromString()),实现动态方法调用(performSelector:withObject:),动态赋值(
KVC
╰つ栺尖篴夢ゞ
·
2023-02-02 09:48
Swift底层原理
反射机制访问成员信息
Mirror解析JSON
Mirror错误处理
LocalError协议
CustomNSError协议
第二、KVO
通过
KVC
的mutableArrayValueForKey:等方法获得代理对象,当代理对象的内部对象发生改变时,
疯子一样男人
·
2023-02-01 03:17
OC底层学习笔记(4)-
KVC
注:文章为自己学习李明杰老师的OC底层视频做的随手笔记
KVC
的全程是key-value-coding,俗称"键值编码",可以通过一个key来访问某个属性常见APIsetValue:(nullableid
打瞌睡de小男孩
·
2023-02-01 02:15
【iOS】KVO &
KVC
& Runtime
一、语言类型了解1.动态语言定义:动态语言是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构。主要动态语言:Object-C、C#、JavaScript、PHP、Python、Erlang。Object-C语言的动态语言特性得益于它的Runtime机制,Runtime不是语言特性
emmet7life
·
2023-01-31 17:44
iOS 13-beta
KVC
闪退
在设置UITextField的Placeholder也就是占位文本的颜色和字体时使用了
KVC
的方法:修改前:[_textFieldsetValue:[UIColorredColor]forKeyPath
Clark_new
·
2023-01-30 22:08
iOS底层原理22:
KVC
底层原理
KVC
的全称是Key-ValueCoding,即键值编码,是一种由NSKeyValueCoding非正式协议启用的机制,对象采用它来提供对其属性的间接访问。
黑白森林无间道
·
2023-01-30 09:29
iOS
KVC
和KVO
kvc
:使用字符串直接访问对象的属性,或者给对象属性赋值kvo:键值观察机制,它提供了观察对象属性变化的方法
KVC
的底层实现当一个对象调用setValue方法时,方法内部会做以下操作:1.检查是否存在相应
我嘞giaogiao
·
2023-01-30 07:54
基础清单-有解答
iOS数据存储方式https://juejin.im/post/59ccd3326fb9a00a571d56c1深入理解
KVC
/KVOKVC:https://www.cnblogs.com/zy1987
mengjz
·
2023-01-30 06:05
iOS 13Beta测试问题---持续更新
1,私有
KVC
[textFieldsetValue:[UIColorgrayColor]forKeyPath:@"_placeholderLabel.textColor"];更新为:textField.attributedPlaceholder
w佐w
·
2023-01-29 19:41
KVC
底层原理(设置取值原理)
KVC
的全称是Key-ValueCoding,俗称“键值编码”,可以通过一个key来访问一个属性。
Goose的小黄花
·
2023-01-28 23:37
KVC
-- Key-value coding
当对象遵循
KVC
时,可通过字符串参数通过简洁,统一的消息传递接口找到其属性.这种间接访问机制补充了实例变量及其相关访问器方法的直接访问(即扩充了实例变量和setter/getter的访问方式).通常使用访问器方法来访问对象的属性
Vency_
·
2023-01-28 20:44
iOS
KVC
的理解
KVC
定义
KVC
(Key-valuecoding)键值编码,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。
叶子丝
·
2023-01-28 14:36
KVO的原理 &&
KVC
KVOkvo即键值观察观察一个对象的属性的变化,并在改变时接收到事件kvo是如何监听属性变化的呢[self.person1addObserver:selfforKeyPath:@"age"options:optionscontext:@"123"];首先要注册监听self.person1.age=10当age属性变化的时候会触发监听收到回调-(void)observeValueForKeyPath
biu_iOS
·
2023-01-26 21:51
ios router原创小记
整体思路就是写一个“UIResponder”的分类(category)不基于delegate,block,
kvc
,kvo代码背景:controller中addSubview一个view点击view时,将事件及参数专递给
过江鸟iOSer
·
2023-01-26 17:01
Swift中使用
KVC
报错解决方案
背景:我们项目目前主要使用Swift,少量代码OC问题:Swift中使用KVCgetValue方法报错:openfuncvalue(forKeykey:String)->Any?解决方案:继承自NSObject,并添加关键字@objcMembers
小呀小苹果呀
·
2023-01-26 07:40
iOS 学习笔记 -- UIAlertController 自定义
在这里我们通过
kvc
的思想来实现。在这里补充一点:在使用中发现这个方法只适用于iOS12的系统,其他系统具体看UIAlertController的层级结构。
小白0134
·
2023-01-21 16:08
iOS
iOS
自定义
标题改变对齐方式
KVC
原理与数据筛选
作者:宋宏帅1前言在技术论坛中看到一则很有意思的
KVC
案例:interfacePerson:NSObject@property(nonatomic,copy)NSString*name;@property
·
2022-11-30 07:27
kvc编码数据分析程序员算法
KVC
实现过程简析
KVC
可以访问私有属性,有两个方法-(void)setValue:(nullableid)valueforKey:(NSString*)key和-(void)setValue:(nullableid)valueforKeyPath
melody5
·
2022-11-02 09:41
Swift HandyJSON简介和使用
它反序列化时(把JSON转换为Model)不要求Model从NSObject继承(因为它不是基于
KVC
机制),也不要求你为Model定义一个Mapping函数。只要你定义好Mode
可地出溜
·
2022-09-29 18:04
iOS14适配总结
iOS14已经发布,记录一下开发中遇到的问题.不定时更新,欢迎大家评论补充.iOS14适配总结如下:1.KVCiOS14不允许以
KVC
形式访问UIPageControl的pageImage、_currentPageImage
天微微亮-zwp
·
2022-09-28 07:14
开发过程保留
[iOS]-单例模式\通知\代理
通知通知底层实现原理NSNotificationNSNotificationCenterNSNotificationQueueNSNotification与多线程原理解析总结一下:代理代理的循环引用KVO\
KVC
&Carry
·
2022-09-25 08:03
单例模式
ios
单例
代理
通知原理
kvo 与
kvc
<2>
8.1:kvo与
kvc
展开1:KVOKVO(Key-Value-Observing)键值观察,其技术原理就是通过isawaizzle技术添加被观察对象中间类,并重新写相应的方法来监听键值变化。
Bonew01
·
2022-08-11 18:06
KVC
详解-本质分析
文章目录一、
KVC
-API二、setValue:forKey原理三、valueForKey:原理一、
KVC
-APIKVC的全称是Key-ValueCoding,俗称“键值编码”,可以通过一个key来访问某个属性
Ares称雄
·
2022-05-12 09:36
iOS日常总结
objective-c
ios
xcode
Object-C参考文章 2022-02-25 周五
KVC
和KVO键路径(keyPath)、键值编码(
KVC
)、键值观察(KVO)KVO原理如何手动触发一个value的KVO?通知中心推送流程pushNotification原理通知机制UI
勇往直前888
·
2022-05-06 09:05
关键字
@objcOC是基于运行时,遵循了
KVC
和动态派发,而Swift为了追求性能,在编译时就已经确定,而不需要在运行时才确定。
FallPine
·
2022-04-26 16:34
iOS面试题与核心基础之
KVC
&KVO
KVOKVO是Key-valueobserving,俗称键值监听(键值观察),可以用于监听某个属性值的改变。当我们在调用addObserver:forKeyPath时,系统会在运行时动态创建NSKVONotifying_A类,同时将原来的类指针指向新创建的类。新创建的NSKVONotifying_A类是原来类的子类,目的是重写setter方法,新的setter加入了通知所有观察对象的代码。当修改i
叒一村
·
2022-03-29 16:06
iOS-浅谈OC中的
KVC
目录简介基本使用底层本质探究----setValue:forKey:的原理----valueForKey:的原理简介
KVC
的全称是Key-ValueCoding,俗称“键值编码”,可以通过一个key来访问某个属性基本使用常用方法有
晴天ccc
·
2022-03-27 21:47
KVC
&KVO
键值编码是由NSKeyValueCoding非正式协议启用的一种机制,对象采用该协议来提供对其属性的间接访问。当对象符合键值编码时,其属性可以通过简洁、统一的消息传递接口通过字符串参数进行寻址。这种间接访问机制补充了实例变量及其关联访问器方法提供的直接访问。您通常使用访问器方法来访问对象的属性。get访问器(或getter)返回属性的值。集合访问器(或设置器)设置属性的值。在Objective-C
微笑_d797
·
2022-03-13 17:00
KVO剖析与使用
了解KVO前建议先理解
KVC
使用流程添加观察者addObserver:forKeyPath:options:context:方法将观察者注册到被观察的对象中;context:更安全、更可扩展的方法是使用上下文来确保接收到的通知发送给观察者而不是
寸光片静
·
2022-03-03 16:28
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他