黑马程序员--字典转模型

字典转模型

if (_appPlist == nil) {

//        _appPlist = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil]];

        NSArray *array =[NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil]];

        NSMutableArray *arrayM = [[NSMutableArray alloc] init];

         for (NSDictionary *dict in array) {

//            appInfo *appinfo = [appInfo appInfoWithDict:dict];

//            appInfo *appinfo = [[appInfo alloc] initWithDict:dict];

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

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

            

            [arrayM addObject:[appInfo appInfoWithDict:dict]];

        }

        _appPlist = arrayM;

    }

    return _appPlist;

转模型过程中,appInfo 自定义 initWithDict方法


/**

 使用KVC的注意事项

 

 1> plist中的键值名称必须与模型中的属性一致

 2> 模型中的属性可以不全部出现在plist

 */

- (instancetype)initWithDict:(NSDictionary *)dict

{

    self = [super init];

    if (self) {

//        _name = dict[@"name"];

//        _icon = dict[@"icon"];

        

//        [self setValue:dict[@"name"] forKeyPath:@"name"];

//        [self setValue:dict[@"icon"] forKeyPath:@"icon"];

        [self setValuesForKeysWithDictionary:dict];   //KVC

    }

    return self;

}


+(instancetype)appInfoWithDict:(NSDictionary *)dict

{

    return [[self allocinitWithDict:dict];

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值