字典数组转为模型数组

在控制器上懒加载

- (NSArray *)statuses
{
    if (_statuses == nil) {
        // 加载plist中的字典数组
        NSString *path = [[NSBundle mainBundle] pathForResource:@"statuses.plist" ofType:nil];
        NSArray *dictArray = [NSArray arrayWithContentsOfFile:path];

        // 字典数组 -> 模型数组
        NSMutableArray *statusArray = [NSMutableArray array];
        for (NSDictionary *dict in dictArray) {
            XSPStatus *status = [XSPStatus statusWithDict:dict];
            [statusArray addObject:status];
        }

        _statuses = statusArray;
    }
    return _statuses;
}

XSPStatus.h文件里

#import <Foundation/Foundation.h>

@interface XSPStatus : NSObject
@property (strong, nonatomic) NSString *name;
@property (strong, nonatomic) NSString *text;
@property (strong, nonatomic) NSString *icon;
@property (strong, nonatomic) NSString *picture;
@property (assign, nonatomic, getter=isVip) BOOL vip;

+ (instancetype)statusWithDict:(NSDictionary *)dict;
@end

XSPStatus.m文件里

#import "XSPStatus.h"

@implementation XSPStatus
+ (instancetype)statusWithDict:(NSDictionary *)dict
{
    XSPStatus *status = [[self alloc] init];
    [status setValuesForKeysWithDictionary:dict];
    return status;
}
@end

取出数据,结果如下:

XSPStatus *a = self.statuses[indexPath.row];
NSLog(@"%@--%@--%@--%@",a.buyCount,a.price,a.title,a.icon);

时间: 2024-11-06 03:27:51

字典数组转为模型数组的相关文章

将二维数组转为一维数组的2种方法

如何将下面的二维数组转为一维数组. 代码如下: $msg = array( array( 'id'=>'45', 'name'=>'jack' ), array( 'id'=>'34', 'name'=>'mary' ), array( 'id'=>'78', 'name'=>'lili' ), ); 第一种方法: 代码如下: foreach($msg as $k => $v){ $ids[] = $id; $names[] = $name; } 第二种方法: 代

利用递归把多维数组转为一维数组的函数

函数名称:array_multi2single 函数原形:array array_multi2single(array) 实现功能:把一个多维数组的数值存放到一维数组中,不保存Key. < ?php function array_multi2single($array) {     static $result_array=array();     foreach($array as $value)     {         if(is_array($value))         {    

将二维数组转为稀疏数组

public class SparseArray { /** * 用二维数组实现一个棋盘,1代表黑子,2代表蓝子 */ public static void main(String[] args) { /** * 二维数组 */ int[][] chessArray1 = new int[11][11]; chessArray1[1][2] = 1; chessArray1[2][3] = 2; for (int[] row : chessArray1) { for (int data : ro

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

1.下面这样的数组,怎么转成模型     2.分析 3.新增模型:城市分组,城市,区,每个模型都有name,抽一个父类 4.每个模型分别具备的属性 BaseModel : NSObject   属性 NSString *name CitySection : BaseModel  属性 NSArray *cities City : BaseModel 属性 NSArray *districts; 属性 BOOL hot; District : BaseModel  属性  NSArray *nei

php函数array_column如何将二维数组转为一维数组

/*** * 参数1二维数组,参数2 返回一维数组的值的键值 参数3 用参数3作为返回一维数组的键值 */ $last_names = array_column($records, 'last_name', 'first_name'); print_r($last_names);

js 多维数组转为一维数组

arguments.callee 是 所在函数的函数名 var arr = [1, 2, [3, 4, [5, 6, 7]]]; var resultArr = []; function forEachArr(arr) { for (var i = 0; i < arr.length; i++) { if (arr[i] instanceof Array) { arguments.callee(arr[i]); // forEachArr(arr[i]); } else { resultArr.

对象数组转为一般数组

foreach($access as $key =>$value){     if(gettype($value) == 'array' || gettype($value) == 'object'){                        $access[$key] = objtoarr($value);     }else{                        $access[$key] = $value;     }}

php多维数组化一维数组

一.使用foreach <?php function arr_foreach ($arr) { static $tmp=array(); if (!is_array ($arr)) { return false; } foreach ($arr as $val ) { if (is_array ($val)) { arr_foreach ($val); } else { $tmp[]=$val; } } return $tmp; } $a = array(1,2=>array(3,4=>

稀疏数组与环形数组

数据结构与算法的关系 数据结构(data structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构可以编写出跟家漂亮,更加有效率的代码 要学好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决 程序=数据结构+算法 数据结构是算法的基础,换言之,想要学好算法,需要把数据结构学到位 数据结构包括:线性结构和非线性结构 线性结构: 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系(a[0]=30) 线性结构有两种不同的存储结构,即顺