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