项目需要将json格式的字符串转换成易于维护的model类,也找过别人写的,大致思想都是遍历model来实现,逻辑很复杂,也耗性能!
以前的实现是将json遍历,所以将以前在android上写的一段翻译成oc!代码如下:
//
// HsBaseEntity+entity.h
// JsonToEntity
//
// Created by 王金东 on 15/1/1.
// Copyright (c) 2015年 王金东. All rights reserved.
//
#import "HsBaseEntity.h"
@interface HsBaseEntity (entity)
+ (id)objectWithData:(id)data;
@end
//
// HsBaseEntity+entity.m
// JsonToEntity
//
// Created by 王金东 on 15/1/1.
// Copyright (c) 2015年 王金东. All rights reserved.
//
#import "HsBaseEntity+entity.h"
#import <objc/runtime.h>
@implementation HsBaseEntity (entity)
+ (id)objectWithData:(id)data{
if([data isKindOfClass:[NSDictionary class]]){
return [self dictionaryToEntity:data];
}else if([data isKindOfClass:[NSArray class]]){
return [self arrayToEntity:data];
}
return nil;
}
+ (instancetype)dictionaryToEntity:(NSDictionary *)dictionary{
id model = [[self alloc<