AFNetworking 3.0 2次封装

时下流行的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

static AFNManger *afnManger = nil ;

// 单例
+ ( AFNManger *)shareAFNManger
{
    static dispatch_once_t onceToken;
    dispatch_once (&onceToken, ^{
        if ( afnManger == nil ) {
            afnManger = [[ self alloc ] init ];
        }
    });
   
    return afnManger ;
}


/**
 *  获取 AFHTTPSessionManager
 */
- ( AFHTTPSessionManager *)getHttpSessionManager
{
    // 创建网络请求管理对象
    AFHTTPSessionManager *manager = [ AFHTTPSessionManager manager ];
    // 申明返回的结果是 json 类型
    manager. responseSerializer = [ AFJSONResponseSerializer serializer ];
    // 申明请求的数据是 json 类型
    manager. requestSerializer = [ AFJSONRequestSerializer serializer ];
    // 如果报接受类型不一致请替换一致 text/html 或别的
    manager. responseSerializer . acceptableContentTypes = [ NSSet setWithObjects : @"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 = [ self getHttpSessionManager ];
   
    // 发送网络请求 ( 请求方式为 GET)
    [manager GET :URLString parameters :parameters 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);
        }
       
       
    }];
   
   
}


- ( void )POST:( NSString *)URLString parameters:( id )parameters success:( void (^)( id data))success failure:( void (^)( NSError *error)) failure{
   
    // 创建网络请求管理对象
    AFHTTPSessionManager *manager = [ self getHttpSessionManager ];
   
   
    // 发送网络请求 ( 请求方式为 POST)
    [manager POST :URLString parameters :parameters progress :^( 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值