AFNetworking简单封装

#import <Foundation/Foundation.h>

typedef void(^HSSuccessBlock)(NSDictionary *data);
typedef void(^HSFailureBlock)(NSError *error);

@interface HTTPNetworkEngine : NSObject

+ (HTTPNetworkEngine *)shareInstantce;

- (void)postWithUrl:(NSString *)url
          postParam:(NSDictionary *)postParam
            success:(HSSuccessBlock)success
            failure:(HSFailureBlock)failure;
@end
#import "HTTPNetworkEngine.h"
#import "AFNetworking.h"

static HTTPNetworkEngine *shareInstance = nil;
const NSInteger outTime = 5;
@implementation HTTPNetworkEngine

+ (HTTPNetworkEngine *)shareInstantce {
    static dispatch_once_t pred;
    dispatch_once(&pred, ^{
        shareInstance = [[self alloc] init];
    });
    return shareInstance;
}

- (void)postWithUrl:(NSString *)url
          postParam:(NSDictionary *)postParam
            success:(HSSuccessBlock)success
            failure:(HSFailureBlock)failure {
    AFHTTPSessionManager *mananger  = [AFHTTPSessionManager manager];
    /**可接收类型 */
    /**JSON */
    mananger.requestSerializer = [AFJSONRequestSerializer serializer];
    /**Dictionary */
    mananger.responseSerializer = [AFHTTPResponseSerializer serializer];
    mananger.operationQueue.maxConcurrentOperationCount = 10;
    mananger.requestSerializer.timeoutInterval = outTime;
    [mananger POST:url parameters:postParam progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        if (success) {
            NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];
            success(dic);
        }
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        if (failure) {
            failure(error);
            NSLog(@"网络异常");
        }
    }];
}
@end

这里仅仅做一个post类型的封装,其他的以此类推。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 用AFNetworking框架做了简单的网络请求的封装,直接贴代码了 1、 .h文件中声明单例类方法、成员变量 ...
    秋至风起阅读 311评论 0 2
  • 今天无意间看到前同事的工程里请求还是AFHTTPRequestOperationManager,我就忍不住想要吐槽...
    struggle九零阅读 295评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,118评论 25 709
  • 在我的记忆里,英语总是最让我头疼的学科,从初中开始学习英语烦恼就一直困扰着我,真的很烦唉! 虽然我的英语不堪回首,...
    coffee漫阅读 303评论 0 1
  • 今天星期三,唐三的三,my luck day! 放学了,数学社即将开课,可老根却迟迟不肯现身...
    半翼天使阅读 337评论 4 1

友情链接更多精彩内容