AFNetworking 3.0 2次封装
来源:互联网 发布:淘宝新店如何装修 编辑:程序博客网 时间:2024/06/08 19:27
时下流行的AFNNetworking 3.0框架使用简单,方便。对其进行第二次封装,使用起来更简单方便
#import <Foundation/Foundation.h>
@interface AFNManger :NSObject
+(AFNManger *)shareAFNManger;
/** @brief GET请求 */
- (void)GET:(NSString *)URLString parameters:(id)parameters success:(void (^)(id data))success failure:(void (^)(NSError *error)) failure;
/** @brief POST请求 */
- (void)POST:(NSString *)URLString parameters:(id)parameters success:(void (^)(id data))success failure:(void (^)(NSError *error)) failure;
@end
#import "AFNManger.h"
@implementation AFNManger
staticAFNManger *afnManger =nil;
//单例
+ (AFNManger *)shareAFNManger
{
staticdispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
if (afnManger == nil) {
afnManger = [[selfalloc]init];
}
});
returnafnManger;
}
/**
* 获取AFHTTPSessionManager
*/
- (AFHTTPSessionManager *)getHttpSessionManager
{
//创建网络请求管理对象
AFHTTPSessionManager *manager = [AFHTTPSessionManagermanager];
//申明返回的结果是json类型
manager.responseSerializer = [AFJSONResponseSerializerserializer];
//申明请求的数据是json类型
manager.requestSerializer = [AFJSONRequestSerializerserializer];
//如果报接受类型不一致请替换一致text/html或别的
manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObjects:@"application/json",@"text/json",@"text/javascript",@"text/html",@"text/plain",nil];
return manager;
}
/** @brief GET请求 */
- (void)GET:(NSString *)URLString parameters:(id)parameters success:(void (^)(id data))success failure:(void (^)(NSError *error)) failure{
//创建网络请求管理对象
AFHTTPSessionManager *manager = [selfgetHttpSessionManager];
//发送网络请求(请求方式为GET)
[managerGET:URLStringparameters:parametersprogress:^(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);
}
}];
}
- (void)POST:(NSString *)URLString parameters:(id)parameters success:(void (^)(id data))success failure:(void (^)(NSError *error)) failure{
//创建网络请求管理对象
AFHTTPSessionManager *manager = [selfgetHttpSessionManager];
//发送网络请求(请求方式为POST)
[managerPOST:URLStringparameters:parametersprogress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task,id _Nullable responseObject) {
if (success) {
success(responseObject);
}
} failure:^(NSURLSessionDataTask * _Nullable task,NSError *_Nonnull error) {
if (failure) {
failure(error);
}
}];
}
@end
阅读全文
1 0
- AFNetworking 3.0 2次封装
- 封装AFNetWorking 3.0
- AFNetworking 3.0 简单实用封装
- AFNetWorking 封装
- 封装AFNetWorking
- AFNetworking封装
- iOS AFNetworking 3.0二次封装(一)
- iOS-利用Block二次封装AFNetworking 3.0
- Logcat输出2次封装
- redis java 2次封装
- 封装网络请求(AFNetworking)
- AFNetWorking封装使用
- AFNetWorking封装请求数据
- AFNetworking 子类化封装
- 浅谈AFNetworking二次封装
- AFNetworking的封装使用
- AFNetWorking的二次封装
- 简单封装AFNetworking
- Python3 PyQt5 pycharm 环境搭建
- 9.6-全栈Java笔记:二叉树和红黑二叉树
- Android Studio 生成自己的jar包
- 搭建一个提高开发效率的iOS静态库工程
- linux下ftp的设置
- AFNetworking 3.0 2次封装
- Pandas.plot 做图
- 黑站利器-中国菜刀的功能介绍和使用方法
- 剑指offer-求前n项和
- Spring的环境的配置
- 浅谈“互联网+”浪潮下传统行业的战略转型
- QMake的高级用法
- linux单机zookeeper的安装
- 项目发布到tomcat上问题