- (void)setValue:(id)value forUndefinedKey:(NSString *)key {
// NSLog(@"%@",key);
if ([key isEqualToString:@"id"]) {
_idd = value;
}
}
- (id)valueForUndefinedKey:(NSString *)key
{
return nil;
}
- (instancetype)initWithDic:(NSDictionary *)dic
{
if (self = [super init]) {
// KVC
[self setValuesForKeysWithDictionary:dic];
}
return self;
}
+(instancetype)applicationWithDic:(NSDictionary*)dic
{
PictureApplication * app = [[PictureApplication alloc] initWithDic:dic];
return app;
// NSLog(@"%@",key);
if ([key isEqualToString:@"id"]) {
_idd = value;
}
}
- (id)valueForUndefinedKey:(NSString *)key
{
return nil;
}
- (instancetype)initWithDic:(NSDictionary *)dic
{
if (self = [super init]) {
// KVC
[self setValuesForKeysWithDictionary:dic];
}
return self;
}
+(instancetype)applicationWithDic:(NSDictionary*)dic
{
PictureApplication * app = [[PictureApplication alloc] initWithDic:dic];
return app;
}
这样字典转模型的方法存在一些问题:1.当我们模型中的属性和字典的key不一致时会报错。
2.只能转换一级模型,当有多级模型嵌套的时候不再适用
推荐使用第三方:MJExtension
18.1.25更新:
YYModel是一个效率更高的字典转模型的三方。