WKModel 1.1

WKModel 1.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新发布Apr 2017

WelkinXieWelkinXie 维护。



  • 作者:
  • Welkin Xie

一行代码实现 字典 - 模型 转换。

使用方法

pod 'WKModel'#import <NSObject+WKModel.h>


字典 --> 模型

构造字典:

NSDictionary *detail1 = @{@"food":@"Rice", @"drink":@"Juice"};
NSDictionary *detail2 = @{@"food":@"Noodles", @"drink":@"Tea"};

NSArray *arr = @[detail1, detail2];

NSDictionary *dict = @{ @"name":@"Welkin", 
                        @"age":@22, 
                        @"phone":@"110", 
                        @"detail":detail1, 
                        @"list":arr};

一行代码转模型

Model *model = [Model wk_modelFromDictionary:dict];

结果

()

模型 --> 字典

模型属性列表:

@interface Model : NSObject

@property (copy, nonatomic) NSString *ID;
@property (copy, nonatomic) NSString *food;
@property (copy, nonatomic) NSString *drink;
@property (copy, nonatomic) NSString *property;

一行代码转字典

NSDictionary *dict = [model wk_makeDictionary];

结果

()


特殊情况:

模型中包含模型

需要在模型中实现如下方法,指明其中包含的模型类型:

- (NSDictionary *)wk_objectProperties {
    return @{@"detail":[Detail class]};
}

模型中包含模型数组:

需要在模型中实现如下方法,指明数组中模型的类型:

- (NSDictionary *)wk_arrayProperties {
    return @{@"list":[Detail class]};
}

字典中key与对应的属性名字不同:

需要在模型中实现如下方法,指明 key 对应的属性名:

- (NSDictionary *)wk_renamedProperties {
    return @{@"id":@"ID", @"pro":@"property"};
}

具体详情参考demo :)

许可

WKModel 采用 MIT许可证 发布。