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 вы получали 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, как currentRequest, response и т.д.

Для более изменений и деталей, вы можете обратиться в миграционном путеводитель AFNetworking AFNetworking Migration Guide

Для NSURLSessionTask Ссылки: NSURLSessionTask