iOS:AFHTTPSession管理器响应数据



在我的应用程序中,我正在使用新的AFN 3.0,并且我有

AFHTTPSessionManager*经理

而不是

AFHTTPRequestOperation*操作

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

NSURL *url = operation.request.URL;
//or
NSNumber statusCode = operation.response.statusCode;
//or
NSData *responseData = operation.responseData;

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

感谢

在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的迁移指南AF网络迁移指南

对于NSURLSessionTask参考:NSURLSessionTask

最新更新