A NetworkManager With AFNetworking And YYCache
下载项目后,将项目目录下SINetworkManager
拖入项目中
pod 'SINetworkManager', '~> 1.0'
-
导入头文件
#import "SINetworkManager.h"
-
监听网络变化
[SINetworkManager networkStatusChageWithBlock:^(SINetworkStatusType status) { NSLog(@"%ld",status) ; }];
-
请求数据,默认数据会先解析为JSON,否则解析为String,如果转换失败返回原数据
[SINetworkManager GET:@"https://www.v2ex.com/api/topics/hot.json" parameters:nil succeess:^(NSURLSessionTask * _Nonnull task, NSDictionary * _Nonnull responseObject) { } failure:^(NSURLSessionTask * _Nonnull task, NSError * _Nonnull error) { }] ;
-
获取可配置对象,可以动态修改请求过程中的一些参数信息
[SINetworkManager sharedConfig] ;
-
缓存信息回调
[SINetworkCache cacheForURL:@"http://www.baidu.com" parameters:nil withBlock:^(id responseCache) { NSLog(@"%@",responseCache) ; }] ;
-
如果数据为XML,自动解析
[SINetworkManager GET:@"http://www.w3school.com.cn/example/xmle/plant_catalog.xml" parameters:nil succeess:^(NSURLSessionTask * _Nonnull task, NSDictionary * _Nonnull responseObject) { } failure:^(NSURLSessionTask * _Nonnull task, NSError * _Nonnull error) { }] ;
-
缓存支持,会自动在结果后面添加cacheTime作为判断是否有效
NSDictionary *cache1 = [SINetworkCache cacheForURL:@"http://www.w3school.com.cn/example/xmle/plant_catalog.xml" parameters:nil]; NSLog(@"%@",cache1);
SINetworkManager is available under the MIT license. See the LICENSE file for more info.