Skip to content

csdq/CSDataModel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSDataModel

一个简单的数据模型基类,方便将NSDictionary、NSArray等类型数据转为模型对象

基本使用

例如一个JSON对象Department

{
"name": "DepartmentA",
"tel": "88888888",
"num": 1
}

该JSON String转化成NSDictionary: dict1

模型:

@interface Department : CSBaseModel
@property (nonatomic , strong) NSString *name;
@property (nonatomic , strong) NSString *tel;
@property (nonatomic , strong) NSNumber *num;
@end

转化时:

Department *deprtmt = [Department modelFromDict:dict1];

嵌套使用

模型

对于常见的情况:

{
"name": "departmentA",
"number": 3,
"members": [{
"name": "王五",
"jobNum": "0023"
},
{
"name": "陈六",
"jobNum": "0028"
}]
}

该JSON String转化成NSDictionary: dict2

Department中含有成员Member

@interface Department : CSBaseModel
@property (nonatomic , strong) NSString *name;
@property (nonatomic , strong) NSArray<Member*> *members;
@end

@interface Member : CSBaseModel
@property (nonatomic , strong) NSString *name;
@property (nonatomic , strong) NSNumber *jobNum;
@end

Deparmtent实现文件中需要注册子模型的类

@implementation Department
-(instancetype)init{
self = [super init];
if (self) {
[self registerClass:[Member class]   forProperty:@"members"];
}
return self;
}
@end

转化时:

Department *deprtmt = [Department modelFromDict:dict2];

转化成功后,可通过deprtmt.members访问member数组

About

Dictionary & Array Convert to Custom DataModel Object

Resources

License

Stars

Watchers

Forks

Packages

No packages published