KVC简单介绍 -字典转模型,模型转字典

// 以下两个方法,都属于 KVC
的方法

// KVC 是 cocoa
的大招!间接给对象属性设置数值

// 程序执行过程中,动态给对象属性设置数值,不关心 .h
中是如何定义的

//      只要对象有属性(无论是在.h中还是在.m中定义的属性),就能够读取/设置!

//      这种方式,有点违背程序的开发原则!

// 字典转模型 setValuesForKeysWithDictionary

// 模型转字典 dictionaryWithValuesForKeys

//假设self.person 是定义的一个person对象,

//person对象的属性有name,age,height,私有属性有weight

//那么对象转字典如下:

NSDictionary *dict = [self.person
dictionaryWithValuesForKeys:@[@"name",
@"age", @"weight",
@"height"]];//参数数组是属性的名称

//字典转模型如下

[self.person setValuesForKeysWithDictionary:dict];

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-05 04:43:22

KVC简单介绍 -字典转模型,模型转字典的相关文章

iOS开发UI篇—KVC简单介绍

一.KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC相对的时KVO,即key valued observer 键值观察.监听某一个模型的属性,只要模型属性的值一变化就通知你. 二.使用KVC 1.KVC基本使用介绍 (1)代码示例: 新建一个命令行项目,用以演示KVC的用法 完成之后为项目添加一个Person类. 为Person类添加两个属性(name和age),注意这两个属性的类型. 1 #import <Foundation/Fo

ios开发UI基础—Kvc简单介绍

一.KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC相对的时KVO,即key valued observer 键值观察.监听某一个模型的属性,只要模型属性的值一变化就通知你. 二.使用KVC 1.KVC基本使用介绍 (1)代码示例: 新建一个命令行项目,用以演示KVC的用法 完成之后为项目添加一个Person类. 为Person类添加两个属性(name和age),注意这两个属性的类型. 1 #import <Foundation/Fo

文顶顶 iOS开发UI篇—Kvc简单介绍

ios开发UI篇—Kvc简单介绍 一.KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC相对的时KVO,即key valued observer 键值观察.监听某一个模型的属性,只要模型属性的值一变化就通知你. 二.使用KVC 1.KVC基本使用介绍 (1)代码示例: 新建一个命令行项目,用以演示KVC的用法 完成之后为项目添加一个Person类. 为Person类添加两个属性(name和age),注意这两个属性的类型. 1 #impo

Kvc简单介绍

Kvc简单介绍 一.KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC相对的时KVO,即key valued observer 键值观察.监听某一个模型的属性,只要模型属性的值一变化就通知你. 二.使用KVC 1.KVC基本使用介绍 (1)代码示例: 新建一个命令行项目,用以演示KVC的用法 完成之后为项目添加一个Person类. 为Person类添加两个属性(name和age),注意这两个属性的类型. 1 #import <Found

图像切割之(五)活动轮廓模型之Snake模型简单介绍

图像切割之(五)活动轮廓模型之Snake模型简单介绍 [email protected] http://blog.csdn.net/zouxy09 在"图像切割之(一)概述"中咱们简单了解了眼下主流的图像切割方法.以下咱们主要学习下基于能量泛函的切割方法.这里学习下Snake模型简单的知识,Level Set(水平集)模型会在后面的博文中说到. 基于能量泛函的切割方法: 该类方法主要指的是活动轮廓模型(active contour model)以及在其基础上发展出来的算法,其基本思想是

利用runTime,实现以模型为主的字典转模型(注意与KVC的区别)

将字典转化为模型,面向模型开发,是在开发中最为常用的功能.利用KVC可以将字典转换为模型,但是前提有三个约束,一个是必须保证模型的属性个数大于等于字典个数,二是属性名称与字典的key必须相同,三是对于模型中的基本数据类型无法转换. 其中第一条与第三条,是其最大的弊端.例如,如果从服务器获取的数据字典,并不想使用所有的键值对.但是在开发中还是必须得全部将对应属性列出,全部进行转换(除非你一个一个写,不使用KVC). 下面的代码就可以解决上述问题:实现以模型为主,将字典数据进行部分转化,并识别基本数

UML动态模型图简单介绍

UML动态模型图描述了系统动态行为的各个方面,包括用例图.序列图.协作图.活动图和状态图.下面就每种图做一个简单介绍: 用例图 用例图描述系统外部的执行者与系统提供的用例之间的某种联系.所谓用例是指对系统提供的功能的一种描述.执行者是使用用例的人或外部系统,二者之间的联系描述了“谁使用哪个用例”.用例图着重于从系统外部执行者的角度来描述系统需要提供哪些功能,并指明该执行者是谁.在用例图中,椭圆表示用例,小人表示执行者.下图所示为一个普通用户进入某系统的用例图,该图描述了当普通用户进入系统时,“普

python的列表,元组和字典简单介绍

引 入 java                                   python 存取多个值:数组或list集合 ------------------------> 列表,元组 key-value格式:    Map        ------------------------>    字典 自己学习发现,java跟python这两门面向对象语言在数据类型的定义上,很多思想都是互通的,这里不说java,简单介绍一下python的列表,元组和字典. 一.列表 List: 最通

iOS 字典自动生成模型

在实际开发中,我们经常需要根据字典来建模型.每次都打那么一串代码,想想也是挺恶心的.可以自己给NSDictionary写一个分类,进行属性生成. NSDictionary+Property.h #import <Foundation/Foundation.h> @interface NSDictionary (Property) - (void)createPropertyCode; @end NSDictionary+Property.m #import "NSDictionary