TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | Nov 2017 |
Maintained by Silence0201.
Depends on: | |
AFNetworking | ~> 3.1 |
YYCache | ~> 1.0 |
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.