下面给大家献上一个 demo
1.声明一个枚举
typedef NS_ENUM(NSInteger ,HYFNetworkToolsType) {
GET,
POST
};
@interface HYFNetworkTools : AFHTTPSessionManager
@property (assign,nonatomic)HYFNetworkToolsType type;
//全局访问点
+ (instancetype)sharedTools{
static HYFNetworkTools *instance;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[self alloc]init];
//新增反序列格式
instance.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/plain",@"text/json", @"text/javascript", nil];
});
return instance;
}
//网络请求,支持 get 和 post 请求的 公共方法
- (void)requsetWithType:(HYFNetworkToolsType)type urlString:(NSString )urlString params:(id)params success:(void(^)(id))success failure:(void(^)(NSError ))failure {
// get 请求
if (type == GET) {
[self GET:urlString parameters:params progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
success(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
failure(error);
}];
}else{
[self POST:urlString parameters:params progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
success(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
failure(error);
}];
}
}
以上,希望对大家有所帮助,谢谢大家!