测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最新发布 | 2017年11月 |
由 Silence0201 维护。
依赖 | |
AFNetworking | ~> 3.1 |
YYCache | ~> 1.0 |
一个包含 AFNetworking 和 YYCache 的 NetworkManager
下载项目后,将项目目录下的 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 位于 MIT 许可下。有关更多信息,请参阅 LICENSE 文件。