[小白见解]关于iOS小白开发中的字典转模型数据

首先在iOS开发中,很多时候我们都会用到字典->模型的事例,这里所说的模型 就是数据模型。

1. 字典转模型数据的过程:

   1>首先我们先有一个plist文件,也就是数据存储的类型 将字典中的元素添加到plist文件中去

2 >接下来我们就应该创建我们需要的模型类,并在.h声明文件里设置属性和构造我们要用的方法 和plist加载的数据

1. 设置属性 构造方法

/* 1 字典实例化成员变量 2.字典实例化对象的类方法,又称为工厂方法*/

-(instancetype) initWithDict:(NSDictionary *)dict;

+(instancetype) ***WithDict:(NSDictionary *)dict;

// plist加载数据

+(NSArray *)XXX;// XXX一般都是和plist文件名字一样 便于明了


2.实现构造的方法

-(instancetype) initWithDict:(NSDictionary *)dict{

    if (self == [super init]) {

//        self.name = dict[@"name"];

//        self.icon = dict[@"icon"];

//        self.intro = dict[@"intro"]; (最基本的)

        /* KVC (key value coding)键值编码

        // 第一个参数是字典的数值   第二个参数是类的属性

        [self setValue:dict[@"name"] forKey:@"name"];

        [self setValue:dict[@"icon"] forKey:@"icon"];

        [self setValue:dict[@"intro"] forKey:@"intro"];*/


        //通过setValuesForKey方法来完成

        [self setValuesForKeysWithDictionary:dict];

    }

    return self ;

}

+(instancetype) heroWithDict:(NSDictionary *)dict{


    return [[self alloc]initWithDict:dict];

}


//plist数据交个模型处理数据

+(NSArray *)XXX{

    

            //获得plist路径

            NSString *path = [[NSBundle mainBundle]pathForResource:@"XXX.plist" ofType:nil];

            NSArray *array  = [NSArray arrayWithContentsOfFile:path];

            

            //创建数组用于接收数据

            NSMutableArray *tempArray = [NSMutableArray array];

//利用 for in 遍历数组的字典

            for (NSDictionary *dict in array) {

//### 自己创建的类名字

// 创建模型对象并把他添加到数组中

                [tempArray addObject:[### ***WithDict:dict]];

            }

//这里返回的是包含plist文件里的模型数组

        return tempArray;

   

}



3-> 然后就在我们的viewController 中添加数组的属性变量,然后 实行懒加载的方法把数据传递

@property(nonatomic,strong) NSArray *XXX;

//懒加载 数据

-(NSArray *)XXX{

    

    if (_XXX == nil) {

    

        _XXX = [### XXX];

        

    }

    return _XXX;

}

4-> 讲用到数组的地方转改为模型

### *hero = _XXX[indexPath.row];

// 这时候就能使用里面的属性模型值了

cell.imageView.image = [UIImage imageNamed:hero.icon];


到这里 也就基本算完成了字典转模型的大致思路。

字典转模型优缺点比较:

1.> 字典在使用key时候 用模型访问属性,若出现错误 编译器不会有提示错误的,但是 转换成模型后 就能提示 提高编码的速率

2.> 模型也就是我们说的数据模型,主要用于存放数据的对象,用模型表示数据显得我们更加专业(装逼 满分)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值