1

在我的应用我使用的是新AFN 3.0和我有的iOS:AFHTTPSession经理的响应数据

AFHTTPSessionManager *经理

,而不是

AFHTTPRequestOperation *操作

我的问题是,在我ab之前乐从RequestOperation作为获取一些数据:

NSURL *url = operation.request.URL; 

//or 

NSNumber statusCode = operation.response.statusCode; 

//or 

NSData *responseData = operation.responseData; 

,我怎样可以得到AFHTTPSessionManager这个元素?

感谢

回答

1

在V2你的请求

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,你会得到越来越AFHTTPRequestOperationNSURLSessionTask

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