博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AFNetworking 3.0.4更新使用
阅读量:6474 次
发布时间:2019-06-23

本文共 2865 字,大约阅读时间需要 9 分钟。

hot3.png

最近更新了AFNetworking的版本,用了最新的3.0.4

发现较之前使用的2.5版本有较大的区别

在文件目录结构上3.0.4去除了NSURLConnection这个文件夹和里面的

AFHTTPRequestOperation.h

AFHTTPRequestOperation.m

AFHTTPRequestOperationManager.h

AFHTTPRequestOperationManager.m

AFURLConnectionOperation.h

AFURLConnectionOperation.m

这6个文件

在之前的2.5版本中我们常使用的方法是:

    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];    mgr.requestSerializer = [AFHTTPRequestSerializer serializer];    mgr.responseSerializer = [AFJSONResponseSerializer serializer];                            NSDictionary *params = @{ @"PPID":[NSString stringWithFormat:@"%ld", (long)ppId],                              @"UserID":userId,                            };        [mgr POST:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {        NSDictionary* jsonRsp = (NSDictionary *)responseObject;        if (isSuccessRsp(jsonRsp))        {            success(jsonRsp);        }        else        {            failure(errorMsgRsp(jsonRsp));        }    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {        failure(error.description);    }];

- (AFHTTPRequestOperation *)POST:(NSString *)URLString                  headParameters:(id)headParameters                  bodyParameters:(id)bodyParameters                         success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success                         failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure{    [self setHeadParameters:headParameters];        NSMutableURLRequest *request = [self.requestSerializer requestWithMethod:@"POST" URLString:[[NSURL URLWithString:URLString] absoluteString] parameters:bodyParameters error:nil];    AFHTTPRequestOperation *operation = [self HTTPRequestOperationWithRequest:request success:success failure:failure];        [self.operationQueue addOperation:operation];        return operation;}

同时也不需要手动写队列

现3.0.4使用方法更加简单

- (void)POST:(NSString *)URLString           headParameters:(id)headParameters           bodyParameters:(id)bodyParameters                  success:(void (^)( id responseObject))success                  failure:(void (^)( NSError *error))failure{    NSURL *url= [NSURL URLWithString:URLString];    if (url == NULL)    {        return;    }        AFHTTPSessionManager *sessionManager = [AFHTTPSessionManager manager];        if (headParameters)    {        [self setHeadParameters:headParameters sessionMgr:sessionManager];    }    [sessionManager POST:[url absoluteString] parameters:bodyParameters progress:^(NSProgress * _Nonnull uploadProgress) {    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {        success(responseObject);    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {        failure(error);    }];}

转载于:https://my.oschina.net/u/2252300/blog/615951

你可能感兴趣的文章
JavaScript的隐式转换
查看>>
使用librtmp进行H264与AAC直播
查看>>
如何学习微信公众平台的开发?
查看>>
Jquery 获取和设置元素属性值
查看>>
命令行利器Tmux
查看>>
云服务应用开发所面临的9大挑战
查看>>
各大互联网公司架构演进之路汇总
查看>>
PostgreSQL汉字转拼音
查看>>
了解ASP.NET MVC几种ActionResult的本质:FileResult
查看>>
一位资深程序员大牛给予Java初学者的学习路线建议
查看>>
753个大奖邀请各位新老博主入驻云栖,请技术人员广而告之
查看>>
恩信科技:市场为什么需要云计算ERP
查看>>
《Linux From Scratch》第三部分:构建LFS系统 第六章:安装基本的系统软件- 6.1. 简介...
查看>>
阻碍云实例优化的5个常见问题
查看>>
ICOME2013见证数据科学家和创业者诞生
查看>>
F5:致力提升与中国云服务商合作力度
查看>>
WebX实践指南_持久化(三)
查看>>
中国科学院声学研究所研究员侯自强:SDN/NFV+5G
查看>>
2016北京车展get新神器 高德室内地图帮您hold住“靓”点
查看>>
公瑾财务为微昊科技“看好后院”
查看>>