1

私のアプリでは、新しい AFN 3.0 を使用しています。

AFHTTPSessionManager *マネージャー

それ以外の

AFHTTPRequestOperation *オペレーション

私の問題は、 RequestOperation からいくつかのデータを次のように取得できるようになる前です。

NSURL *url = operation.request.URL;

//or

NSNumber statusCode = operation.response.statusCode;

//or

NSData *responseData = operation.responseData;

AFHTTPSessionManagerでこの要素を取得するにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

v2AFHTTPRequestOperationでは、リクエストに対して取得していました

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

于 2016-03-31T03:27:42.013 に答える