iOS:AFHTTPSession 管理器响应数据

Posted

技术标签:

【中文标题】iOS:AFHTTPSession 管理器响应数据【英文标题】:iOS: AFHTTPSession manager response data 【发布时间】:2016-03-31 02:59:06 【问题描述】:

在我的应用中,我使用的是新的 AFN 3.0,而且我有

AFHTTPSessionManager *经理

而不是

AFHTTPRequestOperation *操作

我的问题是,在我能够从 RequestOperation 获取一些数据之前:

NSURL *url = operation.request.URL;

//or

NSNumber statusCode = operation.response.statusCode;

//or

NSData *responseData = operation.responseData;

我如何使用 AFHTTPSessionManager 获取这些元素?

谢谢

【问题讨论】:

【参考方案1】:

在 v2 中,您收到 AFHTTPRequestOperation 的请求

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:@"http://example.com/resources.json" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) 
    NSLog(@"JSON: %@", responseObject);
 failure:^(AFHTTPRequestOperation *operation, NSError *error) 
    NSLog(@"Error: %@", error);
];

但是在 v3 中你会得到NSURLSessionTask

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager GET:@"http://example.com/resources.json" parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) 
    NSLog(@"JSON: %@", responseObject);
 failure:^(NSURLSessionTask *operation, NSError *error) 
    NSLog(@"Error: %@", error);
];

因此,基于此,您可以从 NSURLSessionTask 获取详细信息,例如 currentRequestresponse

更多变化和细节可以参考AFNetworking的迁移指南 AFNetworking Migration Guide

对于 NSURLSessionTask 参考:NSURLSessionTask

【讨论】:

以上是关于iOS:AFHTTPSession 管理器响应数据的主要内容,如果未能解决你的问题,请参考以下文章

资源管理器无响应解决

电脑老是说资源管理器未响应是怎么了

windows资源管理器经常未响应?

windows7资源管理器未响应,发生以下错误,怎么解决?

电脑文件夹右击导致window资源管理器未响应?

iOS 自定义选择器ActionSheet