对AFNetworking的简单封装
来源:互联网 发布:js onclick传两个参数 编辑:程序博客网 时间:2024/06/06 02:14
#import "YGLoadDataManager.h"
#import "AFNetworking.h"
@implementation YGLoadDataManager
#pragma mark -- GET请求 --
+ (void)getWithURLString:(NSString *)URLString
parameters:(id)parameters
success:(void (^)(id))success
failure:(void (^)(NSError *))failure {
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager GET:URLString parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
// 这里可以获取到目前的数据请求的进度
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (success) {
success(responseObject);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
}
}];
}
#pragma mark -- POST请求 --
+ (void)postWithURLString:(NSString *)URLString
parameters:(id)parameters
success:(void (^)(id))success
failure:(void (^)(NSError *))failure {
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:URLString parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (success) {
success(responseObject);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
}
}];
}
#pragma mark -- 上传图片 --
+ (void)uploadWithURLString:(NSString *)URLString
parameters:(id)parameters
uploadParam:(UploadParam *)uploadParam
success:(void (^)(id responseObject))success
failure:(void (^)(NSError *))failure {
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:URLString parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
[formData appendPartWithFileData:uploadParam.data
name:uploadParam.name
fileName:uploadParam.filename
mimeType:uploadParam.mimeType];
} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (success) {
success(responseObject);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
}
}];
}
#pragma mark - 判断网络
+ (void)judgeNetworkStatus{
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
NSString *netStatus;
if (status==-1) {
NSLog(@"未知");
netStatus=@"未知";
}else if (status==0){
NSLog(@"无连接");
netStatus=@"无连接";
}else if (status==1){
NSLog(@"2/3/4G");
netStatus=@"2/3/4G";
}else if (status==2){
NSLog(@"Wifi");
netStatus=@"Wifi";
}
}];
}
#import "AFNetworking.h"
@implementation YGLoadDataManager
#pragma mark -- GET请求 --
+ (void)getWithURLString:(NSString *)URLString
parameters:(id)parameters
success:(void (^)(id))success
failure:(void (^)(NSError *))failure {
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager GET:URLString parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
// 这里可以获取到目前的数据请求的进度
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (success) {
success(responseObject);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
}
}];
}
#pragma mark -- POST请求 --
+ (void)postWithURLString:(NSString *)URLString
parameters:(id)parameters
success:(void (^)(id))success
failure:(void (^)(NSError *))failure {
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:URLString parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (success) {
success(responseObject);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
}
}];
}
#pragma mark -- 上传图片 --
+ (void)uploadWithURLString:(NSString *)URLString
parameters:(id)parameters
uploadParam:(UploadParam *)uploadParam
success:(void (^)(id responseObject))success
failure:(void (^)(NSError *))failure {
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:URLString parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
[formData appendPartWithFileData:uploadParam.data
name:uploadParam.name
fileName:uploadParam.filename
mimeType:uploadParam.mimeType];
} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (success) {
success(responseObject);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
}
}];
}
#pragma mark - 判断网络
+ (void)judgeNetworkStatus{
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
NSString *netStatus;
if (status==-1) {
NSLog(@"未知");
netStatus=@"未知";
}else if (status==0){
NSLog(@"无连接");
netStatus=@"无连接";
}else if (status==1){
NSLog(@"2/3/4G");
netStatus=@"2/3/4G";
}else if (status==2){
NSLog(@"Wifi");
netStatus=@"Wifi";
}
}];
}
0 0
- 对AFNetworking的简单封装
- 对AFNetworking的简单封装
- swift中对AFNetWorking的简单封装
- iOS 对afnetworking简单封装
- AFNetworking的简单封装
- iOS-- 对AFNetWorking库的进一步封装
- 对AFNetworking简单封装GET,POST请求(block方法)
- 简单封装AFNetworking
- 简单封装AFNetworking
- AFNetworking简单封装
- 简单封装一下AFNetworking
- AFNetworking 3.0 简单实用封装
- 简单封装AFNetworking(二)
- 简单的封装,block,AFNetworking的结合应用
- AFNetworking的封装使用
- AFNetWorking的二次封装
- AFNetWorking的二次封装
- AFNetworking 的封装 Swift
- H2数据库集群
- PCA数学原理
- 本地推送,远程推送(JPUSHService极光推送例)
- 工作流-Activiti-基础认识
- ArcGIS API for JavaScript DEMO使用-ArcGIS Web 开发学习(二)
- 对AFNetworking的简单封装
- [opencv]OpenCV项目的动态编译和静态编译
- 轻松获取海量QQ号,一招包教包会!
- 反射常用函数
- Android string %1$s %1$d
- 最全的连接字符串参照
- ES6 Promise对象
- 冒泡、选择和快速排序算法的C++实现
- 机器学习实战5--Logistic回归