KWMCemaroseResult.m 2.01 KB
Newer Older
houweibin committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
//
//  KWMCemaroseResult.m
//  iCemarose
//
//  Created by HouWeiBin on 2016/10/20.
//  Copyright © 2016年 kollway. All rights reserved.
//

#import "KWMCemaroseResult.h"

@implementation KWMCemaroseResult


- (instancetype)initWithDictionary:(NSDictionary *)dict
                        modelClass:(Class)modelClass
                             error:(NSError **)err {
    self = [super initWithDictionary:dict error:err];
    
    return self;
}

- (id)buildData:(Class)modelClass jsonDictionary:(NSDictionary *)jsonDictionary {
    id result = nil;
    
    if(modelClass != nil){
        NSError *error;
        id tmpResult = [[modelClass alloc] initWithDictionary:jsonDictionary error:&error];
        if(error){
            NSLog(@"buildData error: %@", [error localizedDescription]);
        }else{
            result = tmpResult;
        }
    }
    return result;
}

- (NSArray *)buildListData:(Class)modelClass jsonDictionary:(NSArray *)dataArray {
    if(modelClass == nil){
        NSString *reason = [[NSString alloc] initWithFormat:@"class with name:%@ doesn't exists!!", NSStringFromClass(modelClass)];
        @throw [[NSException alloc] initWithName:NSInvalidArgumentException reason:reason userInfo:nil];
    }
    if(! [dataArray isKindOfClass:[NSArray class]]){
        NSString *reason = [[NSString alloc] initWithFormat:@"dataArray object is not a NSArray instance"];
        @throw [[NSException alloc] initWithName:NSInvalidArgumentException reason:reason userInfo:nil];
    }
    NSMutableArray *mutableArray = [[NSMutableArray alloc] init];
    for(NSDictionary *itemJson in dataArray){
        NSError *error;
        id result = [[modelClass alloc] initWithDictionary:itemJson error:&error];
        if(error){
            NSLog(@"buildListData error: %@", [error localizedDescription]);
        }else{
            [mutableArray addObject:result];
        }
    }
    return [[NSArray alloc] initWithArray:mutableArray];
}


+(JSONKeyMapper*)keyMapper {
    return [JSONKeyMapper mapperFromUnderscoreCaseToCamelCase];
}

@end