我们常常需要对数据进行解析,并且建立model存放数据,今天总结一下具体操作以及它们的封装。
1.数据解析并封装
建立一个文件用来进行数据解析。
.h文件
#import <Foundation/Foundation.h>
@interface DataService : NSObject
//加载
+(id) loadDataWithListName:(NSString *)listName;
@end
.m文件
#import "DataService.h"
@implementation DataService
+(id)loadDataWithListName:(NSString *)listName {
//获取文件
NSString *path = [[NSBundle mainBundle] pathForResource:listName ofType:@"json"];
//读取
NSData *jsonData = [NSData dataWithContentsOfFile:path];
//json--->data
id data = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil];
return data;
}
@end
2.model的封装
相比于数据解析的封装,model的封装要相对复杂一点,它的思路是首先要找到映射的字典(要找到key属性的对应关系,json中的key和model类的属性名会形成一个映射关系),然后获取到子类的属性名字,找到set方法,最后进行赋值。