1.首先创建单体类
#import "AFHTTPSessionManager.h" @interface SXNetworkTools : AFHTTPSessionManager + (instancetype)sharedNetworkTools; @end #import "SXNetworkTools.h" @implementation SXNetworkTools + (instancetype)sharedNetworkTools { static SXNetworkTools*instance; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ // http://c.m.163.com//nc/article/list/T1348649654285/0-20.html // http://c.m.163.com/photo/api/set/0096/57255.json // http://c.m.163.com/photo/api/set/54GI0096/57203.html NSURL *url = [NSURL URLWithString:@"http://c.m.163.com/"]; //设置会话 NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration]; //创建会话 instance = [[self alloc]initWithBaseURL:url sessionConfiguration:config]; //设置接收文件的格式 instance.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", @"text/html", nil]; }); return instance; } @end
调用get和pos方法
- (NSURLSessionDataTask *)GET:(NSString *)URLString parameters:(id)parameters success:(void (^)(NSURLSessionDataTask *task, id responseObject))success failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure {} - (NSURLSessionDataTask *)POST:(NSString *)URLString parameters:(id)parameters success:(void (^)(NSURLSessionDataTask *task, id responseObject))success failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure {}
使用方法
[[[SXNetworkTools sharedNetworkTools]GET:allUrlstring parameters:nil success:^(NSURLSessionDataTask *task, NSDictionary* responseObject) { NSLog(@"%@",allUrlstring); NSString *key = [responseObject.keyEnumerator nextObject]; NSArray *temArray = responseObject[key]; NSMutableArray *arrayM = [NSMutableArray arrayWithCapacity:temArray.count]; [temArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { SXNewsModel *news = [SXNewsModel newsModelWithDict:obj]; [arrayM addObject:news]; }]; if (type == 1) { self.arrayList = arrayM; [self.tableView headerEndRefreshing]; [self.tableView reloadData]; }else if(type == 2){ [self.arrayList addObjectsFromArray:arrayM]; // NSLog(@"%ld",self.arrayList.count); [self.tableView footerEndRefreshing]; [self.tableView reloadData]; } } failure:^(NSURLSessionDataTask *task, NSError *error) { NSLog(@"%@",error); }] resume];