iOS MJExtension框架之字典数组转模型数组

1.下面这样的数组,怎么转成模型

   

2.分析

3.新增模型:城市分组,城市,区,每个模型都有name,抽一个父类

4.每个模型分别具备的属性

BaseModel : NSObject    属性 NSString *name

CitySection : BaseModel   属性 NSArray *cities

City : BaseModel      属性 NSArray *districts; 属性 BOOL hot;

District : BaseModel     属性  NSArray *neighborhoods

5.控制器

5.1 导入框架 #import "MJExtension.h"

5.2 控制器的成员属性 : @property (nonatomic,strong) NSArray *citySections;

5.3 延迟加载

 1 - (NSArray *)citySections
 2 {
 3     if (_citySections == nil) {
 4         NSString *path = [[NSBundle mainBundle] pathForResource:@"Cities.plist" ofType:nil];
 5         NSArray *dataArray = [NSArray arrayWithContentsOfFile:path];
 6         NSMutableArray *arrayM = [NSMutableArray arrayWithCapacity:dataArray.count];
 7
 8         for (NSDictionary *dict in dataArray) {
 9         // MJExtension框架里,字典转模型的方法
10            CitySection *section = [CitySection objectWithKeyValues:dict];
11             [arrayM addObject:section];
12         }
13         _citySections = arrayM;
14     }
15
16     return  _citySections;
17 }

6 在模型类的.m文件中

6.1导入框架  #import "MJExtension.h"

6.2 实现方法

目的是告诉控制器的  objectWithKeyValues: 方法 , cities数组里面装的时city模型

// 在CitySection.m中
- (NSDictionary *)objectClassInArray
{
    return @{ @"cities" : [City class] };
}
// 在 City.m中
- (NSDictionary *)objectClassInArray
{
    return @{ @"districts" : [District class]};
}

注:District.m中,就不用这么干了,因为 District模型的属性 NSArray *neighborhoods 里装的是NSString

7 看看转换的结果

时间: 2024-11-04 16:10:50

iOS MJExtension框架之字典数组转模型数组的相关文章

字典数组转为模型数组

在控制器上懒加载 - (NSArray *)statuses { if (_statuses == nil) { // 加载plist中的字典数组 NSString *path = [[NSBundle mainBundle] pathForResource:@"statuses.plist" ofType:nil]; NSArray *dictArray = [NSArray arrayWithContentsOfFile:path]; // 字典数组 -> 模型数组 NSMu

iOS开发UI基础—字典转模型(部分内容转载他人)

iOS开发UI基础-字典转模型 开发中,通常使用第三方框架可以很快的实现通过字典转模型,通过plist创建模型,将字典的键值对转成模型属性,将模型转成字典,通过模型数组来创建一个字典数组,通过字典数组来创建一个模型数组等等. 一.能完成功能的"问题代码" 1.从plist中加载的数据 2.实现的代码 1 // 2 // LFViewController.m 3 // 03-应用管理 4 // 5 // Created by apple on 14-5-22. 6 // Copyrigh

IOS MJExtension json转模型的轻量级框架的使用(转载)

原文地址 http://www.bubuko.com/infodetail-559696.html 下载地址:https://github.com/makeLaugh/MJExtension 这边主要的一个示例是将一个从web上面取到的json字符窜转化成model的一个流程,开始集成吧. 1)下载解压 2)添加到新的项目中 3)导入头文件后,开始使用这个文件,这边是从web上面取得的一个数据,直接映射成一个model对象 这里只是其中的一个使用方法,更多的方法可以查看其下载文件中的main方便

IOS MJExtension json转模型的轻量级框架的使用

框架下载地址是: https://github.com/makeLaugh/MJExtension 这边主要的一个示例是将一个从web上面取到的json字符窜转化成model的一个流程,开始集成吧. 1)下载解压 2)添加到新的项目中 3)导入头文件后,开始使用这个文件,这边是从web上面取得的一个数据,直接映射成一个model对象 这里只是其中的一个使用方法,更多的方法可以查看其下载文件中的main方便中的更加详细的调用 . ////  main.m//  字典与模型的互转////  Crea

序列化框架MJExtension详解 + iOS ORM框架

当开发中你的模型中属性名称和 字典(JSON/XML) 中的key 不能一一对应时, 或者当字典中嵌套了多层字典数组时..., 以及教你如何用 MJExtension 配置类来统一管理你的模型配置, 下面罗列了开发中常见的一些特殊情况, 请参考!(MJExtension/github) 最基本用法: // 将字典转为模型 Person *p = [Person mj_objectWithKeyValues:dict2]; // 将 plist数据转成模型数组 NSArrar *models =

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中将字典转成模型对象

作为IOS开发初级者今天学习了 如何将plist数据字典转成 数据对象数组中 .有点像C#中解析xml数据 的过程. apps.plist的xml数据是这样的 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList

文顶顶 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 第三方框架-MJExtension

1.数组转换成模型数组 // 将 "微博字典"数组 转为 "微博模型"数组 NSArray *newStatuses = [HWStatus objectArrayWithKeyValuesArray:json[@"statuses"]]; 2.字典转为模型 HWUser *user = [HWUser objectWithKeyValues:json]; 3.返回的模型中有嵌套模型数组的,可以通过以下设定 .h 文件 /** 微博配图地址.多图