ViewController.m
#import "ViewController.h"
#import "Test.h"
#import "AFNetworking.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self createData];
}
- (void)createData {
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:@"http://lib.wap.zol.com.cn/ipj/docList/?v=3.0&class_id=0&page=1&retina=1&last_time=2015-10-09%2017:20&vs=iph430&isReviewing=NO" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSDictionary *dic = responseObject;
NSMutableArray *arr = [Test baseModelByArr:dic[@"list"]];
for (Test *test in arr) {
NSLog(@"%@", test.stitle);
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%@", error);
}];
}
BaseModel.h
#import <Foundation/Foundation.h>
@interface BaseModel : NSObject
+ (NSMutableArray *)baseModelByArr:(NSArray *)arr;
@end
BaseModel.m
#import "BaseModel.h"
@implementation BaseModel
+ (NSMutableArray *)baseModelByArr:(NSArray *)arr {
NSMutableArray *modelArr = [NSMutableArray array];
for (NSDictionary *dic in arr) {
@autoreleasepool {
id model = [[self class] baseModelWithDic:dic];
[modelArr addObject:model];
}
}
return modelArr;
}
+ (instancetype)baseModelWithDic:(NSDictionary *)dic {
id model = [[[[self class] alloc] initWithDic:dic] autorelease];
return model;
}
- (instancetype)initWithDic:(NSDictionary *)dic {
self = [super init];
if (self) {
[self setValuesForKeysWithDictionary:dic];
}
return self;
}
- (void)setValue:(id)value forUndefinedKey:(NSString *)key {
}
Test.h
#import "BaseModel.h"
@interface Test : BaseModel
@property(nonatomic, copy)NSString *stitle;
@end