首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
kvc专题
iOS OC底层面试题(KVC(Key-value coding)
KVC(Key-value coding) -(id)valueForKey:(NSString *)key;-(void)setValue:(id)value forKey:(NSString *)key; KVC就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。这样就可以在运行时动态地访问和修改对象的属性。而不是在编译时
阅读更多...
KVC模式讲解和Block语法
KVC键值编码,使用完整实例: #import <Foundation/Foundation.h> @interface Course : NSObject { NSString* courseName; } - (NSString*)description; @end #import "Course.h" @implementation Course - (NS
阅读更多...
iphone新手上路: KVC模式和iPhone基本控件的使用
MVC是一种设计模式,所谓设计模式就是解决某一特定问题的方案。 MVC是解决具有UI的应用系统的成熟解决方案,在Cocoa应用系统中严格按照该模式实现。 M-Model(模型)是应用系统中与视图对于部分的数据。 V-View(视图)是应用系统中用户看到并与之交互的界面。 C-Controller(控制器)是应用系统中起到控制器作用,接受用户事件,显示数据等,与视图进行交互等。 采用MVC
阅读更多...
KVC设计模式讲解
在Objective-c语言中,可以用@property和@synthesize来创建实例变量的属性,因此对象访问的时候可以直接使用点语法。 但是,如果不声明属性,如何访问到对象的实例变量呢?KVC就解决了这一问题。 KVC 全称Key-Value-Coding,也就是键值编码。先看下面一个例子: @interface Student
阅读更多...
【iOS】KVC相关总结
目录 1. 什么是KVC?2. 访问对象属性常用方法声明基础使用KeyPath路径多值操作 3. 访问集合属性4. 集合运算符自定义集合运算符 5. 非对象值处理访问基本数据类型访问结构体 6. 属性验证7. 设值和取值原理基本的Getter搜索模式基本的Setter搜索模式NSMutableArray搜索模式其他搜索模式 8. 异常处理9. KVC 经典问题通过KVC修改属性会触发KVO吗
阅读更多...
iOS 字典转模型的几中方法、KVC、runtime、YYModel、MJExtention
快速转换,只写一层建模型,在.m文件中取相应层级的模型。 /**{"returnStatus":"000","returnMsg":"ok","data":{"accessKeyId":"34d89d72a26511ebb2d1c52b9bdb9fa5","secretAccessKey":"fa713467ed8c409ca26f0dbfb2832235","sessionToken"
阅读更多...
iOS14 适配:【KVC 不允许访问 UIPageControl的pageImage解决方案】方案一:preferredIndicatorImage结合color相关的方法来处理。方案二:自定义控件
文章目录 前言I、KVC 不允许访问 UIPageControl的pageImage的解决方案1.1 方案1: 借助iOS14新增的API:preferredIndicatorImage 修改指示器小圆点的大小以及形状1.2 方案2: 自定义UIPageControl see also其他解决方案:自定义PageControl 前言 同 iOS 13 更新时的 textFiel
阅读更多...
iOS14适配汇总:【1、隐私权限相关:定位、相册、IDFA 2、KVC相关: UIPageControl的pageImage3、UIView相关:UITableViewCell兼容;4、网络相关】
文章目录 前言I、隐私权限相关的适配II、KVC相关的适配III、UIView相关的适配IV、第三方框架相关4.1 QMUIKit在iOS14 下首次唤起键盘卡住主线程] V、网络相关VI、Mac Catalyst 相关6.1 判断App是运行在Mac还是iPhone上 VII 真机调试 前言 I、隐私权限相关的适配 【定位授权新增了精确和模糊定位 可根据不同的需求设置不同的定
阅读更多...
【iOS开发】—— KVC
【iOS开发】—— KVC 一. KVC的定义key和keyPath的区别用法: 批量复制操作字典模型相互转化KVC的其他方法 KVC原理赋值原理取值原理 一. KVC的定义 KVC(Key-value coding)键值编码,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。这样就可以在运行时动态地访问和修改
阅读更多...
【iOS】KVC
文章目录 前言一、KVC常用方法二、key与keypath区别key用法keypath用法 三、批量存值操作四、字典与模型相互转化五、KVC底层原理KVC设值底层原理KVC取值底层原理 前言 KVC的全称是Key-Value Coding,翻译成中文叫做键值编码 KVC提供了一种间接访问属性方法或成员变量的机制,允许通过字符串来访问对应的属性方法或成员变量 它是一个非正
阅读更多...
KVO/KVC总结
1.KVC和KVO的概念 1.1 KVC: NSKeyValueCoding的简称,是一种可以直接通过字符串的名字(key)来访问类属性的机制,而不是通过调用的Setter、Getter方法访问。 1.2 KVO: NSKeyValueObserving的简称,当指定的对象的属性被修改了,允许对象接收到通知的机制。 2 详述 在很多时候接触到很多地方都有对 KVC,KVO 的描
阅读更多...
KVC 的局限性
因为做项目遇到这个问题所以就记录下来,希望你对KVC的理解更加全面。 这里我说的是KVC字典转模型的人时候遇到的。代码如下 +(instancetype)headerModel:(NSDictionary *)dict{return [[self alloc]initWithDict:dict];}-(instancetype)initWithDict:(NSDictionary *)di
阅读更多...
UI中的KVC:键值编码访问属性的方式
对于一般的属性我们正常赋值方式 Girl *normalGirl = [[Girl alloc] init];normalGirl.name = @"苍老师";normalGirl.age = @"18";normalGirl.hobby = @"演戏"; 取值 NSLog(@"%@ %@ %@", normalGirl.name, normalGirl.age, normalGirl.h
阅读更多...
KVC笔记
KVC的全称是Key-Value Coding,俗称“键值编码”,可以通过一个key来访问某个属性 常见的API有 - (void)setValue:(id)value forKeyPath:(NSString *)keyPath; - (void)setValue:(id)value forKey:(NSString *)key; - (id)valueForKeyPath:(NSStr
阅读更多...
KVC Collection Operators
Mattt Thompson撰写、 Candyan翻译 Ruby爱好者总爱嘲笑Objective-C臃肿的语法。 尽管新的Object Literals特性让我们的语法瘦了几斤,但那些红头发的恶霸们还总是用他们的单行map和花哨的Symbol#to_proc来嘲讽我们。 实际上,一门语言是否优雅归结起来就是其怎么样能更好的避免循环。for,while语句是一种拖累;即使是快速枚举也一
阅读更多...
iOS底层原理探究之----KVC
不管是平常开发还是找工作面试中,KVC、KVO的原理都是面试官比较喜欢问的问题。最近抽时间研究了一下KVC和KVO的实现原理,本想着一篇文章就可以说完,等研究完才发现不看不知道,一看吓一跳。KVC和KVO都有很多内容可以研究,所以分为两篇分享,第一篇分享KVC的底层原理。 本次分享准备从这几个方面入手: 1、概念定义 2、原理介绍 3、自己实现 4、使用场景 一、概念定义 KVC:Key-va
阅读更多...
细说KVO KVC NSNotificationCenter那些事
在iOS开发过程中,我们经常会听到或者用到KVO,KVC,NSNotificationCenter等,但是很多时候,我们可能没有那么了解,下面让我们来详细了解下他们的概念、用法以及他们之间的关系吧~ 本篇博客共分以下几个模块来介绍: 什么是KVC?什么是KVO?KVC与KVO的关系KVC Collection Operators什么是NSNotificationCenter?NSNotif
阅读更多...
iOS 健值编码(KVC)与反射机制的研究
iOS 健值编码(KVC)与反射机制的研究 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 - 本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢
阅读更多...
学习swift 《kvc和kvo的简单使用》
kvc和kvo我是对照着ios写的,有什么不对的地方多多指教 先建两个简单的model类,Animal类和dog类没有任何继承关系 如下: import UIKit class Animal: NSObject { var name:String = "" var dog:Dog? var arr = NSMutableArray
阅读更多...
iOS KVC 和 KVO 原理实现
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄 一、KVC (key value coding) 通常我们使用点语法和set方式开更改对象的状态,即为对象赋值。如: [stu setAge:10]; KVC:他是一种简介的更改对象的状态的方式,其实现方法是使用字符串来描述对象需要更改的属性。 KVC中使
阅读更多...
14、iOS底层分析 - KVC
KVC apple文档 KVC定义 KVC(Key-value coding)键值编码,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。这样就可以在运行时动态地访问和修改对象的属性。而不是在编译时确定,这也是iOS开发中的黑魔法之一。很多高级的iOS开发技巧都是基于KVC实现的。 在实现了访问器方法的类中,使用点语
阅读更多...
KVC、KVO、NSNotification
作者:杨登峰 (dengfengyang@gmail.com) 时间:2010-03-12 转帖请注明转之 苹果开发中文网(http://www.cocoadev.cn/Objective-C/KVO-20100222-0627.asp) 以上说明是本文不可分割的一部分。 Objective-C里面的Key-Value Observing (KVO)机制,非常不错,可以很好的减少浇水代码。关于
阅读更多...
KVC、KVO、NSNotification
作者:杨登峰 (dengfengyang@gmail.com) 时间:2010-03-12 转帖请注明转之 苹果开发中文网(http://www.cocoadev.cn/Objective-C/KVO-20100222-0627.asp) 以上说明是本文不可分割的一部分。 Objective-C里面的Key-Value Observing (KVO)机制,非常不错,可以很好的减少浇水代码。关于
阅读更多...
[转]KVC 与 KVO 理解 自己动手实现KVO
文章转自:http://magicalboy.com/kvc_and_kvo/ KVC 与 KVO 是 Objective C 的关键概念,个人认为必须理解的东西,下面是实例讲解。 Key-Value Coding (KVC) KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。
阅读更多...
iOS中使用KVC实现JSON数据与Objective-C实体对象之间的转换
JSON数据,一种极其常用的数据传输格式,在iOS开发当中,经常会遇到需要将JSON格式数据转换为定义的实体,如将一大串联络人的json数据转换为Contact对象的数组等,想必大家都知道有一种最常见的方式,如下: 首先将JSON解析成字典(NSDictionary)或数组(NSArray);然后使用objectForKey分别对Contact对象的属性进行赋值。 以上方式,存在的问题:
阅读更多...
Objective-C学习-KVC(键值编码)和KVO(键值观察)
KVC(键值编码) KVC(Key Value Coding)键值编码,乍一听感觉很高大上,其实简单的说起来就是一个赋值的语句,那为什么会有这个操作呢,用 '.' 语法不是更简单吗,理解上是没错的,但在点语法出现之前,我们的程序员前辈们都是通过这种赋值方法的,并且在很多情况下,KVC赋值看似麻烦,实际上是比 ‘.’ 语法简更加精炼的。 其实在之前我们也用过键值
阅读更多...