AFNetworking NSURLConnect 到NSURLSession

转载 2016年05月30日 11:51:58

转自:http://my.oschina.net/u/2252300/blog/615951

最近更新了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);
}];
}

iOS开发: AFNetworking网络请求:NSURLSession版

网络请求——NSURLSession版 1、NSURLSession的GET请求: 1>准备需要解析的网址字符串:  NSString *urlString = @"urlString";  ...

iOS网络-NSURLSession/AFNetworking发送HTTPS网络请求

HTTPS简单说明: HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的...

AFNetworking和 NSURLSession (转载的准备系统的学习下)

本文转载自:http://www.codes51.com/article/detail_117768.html 1    类库功能简介 1.1  AFNetworking的大体思路...

AFNetworking 3.0 源码解析之NSURLSession

AFNetworking 3.0 源码解析之NSURLSession NSURLSession是AFNetworking的核心部分,主要负责网络通信部分。 下面分两个部分来解析:父类:NS...

iOS开发:NSURLSession和Afnetworking的使用对比

为了学习iOS开发的网络知识,写了个demo对比原生和第三方网络库的用法。 预览 主要是写了两个页面,分别实现了get,post,上传,下载以及设置网络图片等功能等功能。 ...

使用AFNetworking 2.0 断点下载 NSURLSession

一、NSURLSessionConfiguration 介绍:配置session对象

AFNetworking访问https出现"NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9806"

在之前一篇博客中《AFNetworking访问https出现"NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSS...

NSURLSession

  • 2015年02月13日 18:09
  • 65KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AFNetworking NSURLConnect 到NSURLSession
举报原因:
原因补充:

(最多只允许输入30个字)