字典转模型

在使用许多数据的时候一般用模型来存储数据的类。

开发时当我们从文件中取出数据到字典后,应该将数据从字典取出装到模型中,将面向字段开发转为面向模型开发。

 

模型对象的参数选择:

copy:NSString

Strong:一般对象

weak:UI控件

assign:基本数据类型。

 

 

PS

:注意模型方法的规范。

比如 需要一个需要一个initWithXXX的对象方法,以及一个以对象吗开头的 xxxwithXXX为名的类方法。

 

并且在类方法中简单地直接调用对象方法就好了。

 

举例:

头文件:

#import <Foundation/Foundation.h>

 

@interface MyApp : NSObject

 

@property(nonatomic, copy)NSString *icon;

 

@property(nonatomic, copy)NSString *name;

 

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

 

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

@end

 

实现文件:

#import "MyApp.h"

 

@implementation MyApp

 

- (instancetype)initWithDict:(NSDictionary *)dict

{

    if (self == [super init]) {

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

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

    }

    return self;

}

 

+ (instancetype)myAppWithDict:(NSDictionary *)dict

{

    return [[self alloc]initWithDict:dict];

}

@end

 

 

plist文件中数据转为数据模型一般过程:

- (NSArray *)apps

{

    if (_apps == nil) {

       

        //1、获取plist文件路径

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

        //2、从路径中获取plist中的字典

       NSArray *array = [NSArray arrayWithContentsOfFile:path];

       

        //3、创建接受数据模型的可变数组

        NSMutableArray *apparray = [NSMutableArray array];

       

        //4、依次取出字典,循环存储到数据模型中

       for (NSDictionary*dataDictionary in array) {

           //新建单条数据模型

           MyApp *app = [MyApp myAppWithDict:dataDictionary];

           //添加到可变数组中

           [apparray addObject:app];

       }

        //5、将数据模型数组赋值到成员变量中

       _apps = apparray;

    }

    

    return _apps;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值