ios字典转模型

ios字典转模型
标签:ios 字典转模型
    
 一、在模型类中自定义方法来实现,注意:属性名称和字典里面的KEY要和实际数据的属性一样
  a、在模型类中的实现
123456789101112131415161718192021222324252627282930    // 模型类 .h文件       @interface Person: NSObject       @property (nonatomic,copy) NSString *name;   @property (nonatomic,assign) UIInteger age;       // 自定义这个方法        - (instancetype)initWithDict:(NSDictionary *)dict;     + (instancetype)personWithDict:(NSDictionary *)dict;         @end     // 模型类 .m文件实现   - (instancetype)initWithDict:(NSDictionary *)dict {        if (self = [super init]){                           self.name = dict[@"name"];              self.age = dict[@"age"];          }                   return self; }  + (instancetype)personWithDict:(NSDictionary *)dict {        return [ [self alloc] initWithDict:dict];  }    
 b、在获取模型数据类中的实现
12     Person *p = [Person alloc] initWithDict:dict];(这里直接字典转模型) // Person *p = [Person personWithDict:dict];    
二、直接用KVC实现,注意模型属性要和数据的实际属性相同,不然用KVC方法会报错
  a、在模型类中的实现
1234567891011121314151617181920212223242526272829303132    // 模型类 .h文件       @interface Person: NSObject       @property (nonatomic,copy) NSString *name;   @property (nonatomic,assign) UIInteger age;       // 自定义这个方法    - (instancetype)initWithDict:(NSDictionary *)dict; + (instancetype)personWithDict:(NSDictionary *)dict;     @end    // 模型类 .m文件实现   - (instancetype)initWithDict:(NSDictionary *)dict {        if (self = [super init]){                          // self.name = dict[@"name"];            //  self.age = dict[@"age"];                            [self setValuesForKeysWithDictionary:dict];  (这里实现)     }                   return self; }  + (instancetype)personWithDict:(NSDictionary *)dict {        return [ [self alloc] initWithDict:dict];  }    
b、在获取模型数据类中的实现
12    1  Person *p = [Person alloc] initWithDict:dict];(这里直接字典转模型)2  // Person *p = [Person personWithDict:dict];    
三、利用封装好的第三方框架实现
  如: MJExtension  具体实现看github的介绍
时间: 2024-10-08 14:19:51

ios字典转模型的相关文章

IOS - - 字典转模型

新建模型基类BaseModel 在BaseModel.h中声明如下方法: -(instancetype)initWithjsonDictionary:(NSDictionary*)jsonDictionary; .m中实现: -(instancetype)initWithjsonDictionary:(NSDictionary*)jsonDictionary{ self = [super init]; if (self) { [self setValuesForKeysWithDictionar

IOS 字典转模型中出现id怎么办

首先看看代码 @property (nonatomic,strong) NSString *id; @property (nonatomic,strong) NSString *screen_name; @property (nonatomic,strong) NSString *url; @property (nonatomic,strong) NSString *mid; @property (nonatomic,strong) NSString *from; @property (nona

iOS开发UI篇—字典转模型

iOS开发UI篇—字典转模型 一.能完成功能的“问题代码” 1.从plist中加载的数据 2.实现的代码 // // LFViewController.m // 03-应用管理 // // Created by apple on 14-5-22. // Copyright (c) 2014年 heima. All rights reserved. // #import "LFViewController.h" @interface LFViewController () @proper

iOS之KVC字典转模型的底层实现

KVC: Key Value Coding (键值编码) 在iOS开发中,KVC是我们经常要使用的技术.那么KVC有什么作用呢?简单列举一下下面几种: 取值和赋值(开发中基本不用) 获取对象私有变量的值.(经常使用,例如UIPageContorl分页, 设置圆点为图片) 改变对象私有变量的值(经常使用) 简单的字典转模型(偶尔使用) 模型转字典 批量取值 KVC字典转模型的底层实现 通常我们手动将字典转模型的话,会在模型中提供一个类方法接收一个字典,在这个方法中将字典转换成模型,再将转换好的模型

文顶顶 iOS开发UI篇—字典转模型

iOS开发UI篇—字典转模型 一.能完成功能的“问题代码” 1.从plist中加载的数据 2.实现的代码 1 // 2 // LFViewController.m 3 // 03-应用管理 4 // 5 // Created by apple on 14-5-22. 6 // Copyright (c) 2014年 heima. All rights reserved. 7 // 8 9 #import "LFViewController.h" 10 11 @interface LFV

IOS开发UI基础之Plis文件-字典转模型

什么是plist文件? 在开发中直接将数据写在代码里面 不是一种合理的做法 如果数据经常改变 就需要经常翻开对应的代码进行修改 造成代码扩展性低 因此,可以考虑将经常变的数据放在?文件中进?行存储,程序启动后从?文件中 读取最新的数据.如果要变动数据,直接修改数据?文件即可,不?用修改代码 一般可以使?用属性列表?文件存储NSArray或者NSDictionary之类的数据,这 种“属性列表?文件”的扩展名是plist,因此也称为“plist?文件” 在Xcode创建plist文件的步骤: 解析

IOS 开发学习笔记-基础 UI(10)九宫格布局,块动画,字典转模型,Xib使用

大概如下图示:九个应用图标的样子 功能分析 (1)以九宫格的形式展示应用信息 (2)点击下载按钮后,做出相应的操作 步骤分析 (1)加载应用信息 (2)根据应用的个数创建对应的view (3)监听下载按钮点击 思路整理 要在支持文件夹里,放入 plist 文件,且拖拽素材到 supporting files,注意勾选的项目的区别: 大多数情况,往项目中拖拽素材时,通常选择 Destination, Folders:选择第一项:创建组,这样 xcode 导航显式的是黄色文件夹,要知道,Xcode中

iOS开发项目篇—25字典转模型第三方框架、运行时机制简介

iOS开发项目篇—25字典转模型第三方框架.运行时机制简介 一.使用第三方框架完成字典转模型 1.获取框架 在www.code4app.com网站中,搜索字典转模型 可以点击下载代码进行下载,也可以带github上去下载. 管理框架的好处:点击刷新按钮会刷新所有的项目. 2.使用 1.导入第三方框架 2.使用示例 错误提示: 在刷新的时候直接使用一行代码即可: 1 /**加载最新微博数据*/ 2 -(void)loadNewStatus 3 { 4 //1.获得请求管理者 5 AFHTTPReq

ios开发- 利用运行时(runtime)字典转模型

现在的ios开发中,我们通常会使用MVC模式.当我们拿到数据的时候,我们要把数据转成模型使用. 一般情况我们拿到的数据都是字典.这是我们就需要将字典转成模型对象了. 当对象的属性很少的时候,我们可以直接单独写出字典的键值,进行转换. _属性 = dict["键"] 当对象的属性很多的时候,我们可以利用KVC批量设置. setValuesForKeysWithDictionary:<#(NSDictionary *)#> 但是KVC批量转的时候,有个致命的缺点,就是当字典中的