iOS: AFHTTPSession 管理器响应数据
iOS: AFHTTPSession manager response data
在我的应用程序中,我使用的是新的 AFN 3.0,并且我有
AFHTTPSessionManager *manager
而不是
AFHTTPRequestOperation *operation
我的问题是,在我能够从 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
中获取详细信息,例如 currentRequest
、response
等
更多变化和细节,可以参考AFNetworking的迁移指南
AFNetworking Migration Guide
NSURLSessionTask 参考:NSURLSessionTask
在我的应用程序中,我使用的是新的 AFN 3.0,并且我有
AFHTTPSessionManager *manager
而不是
AFHTTPRequestOperation *operation
我的问题是,在我能够从 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
中获取详细信息,例如 currentRequest
、response
等
更多变化和细节,可以参考AFNetworking的迁移指南 AFNetworking Migration Guide
NSURLSessionTask 参考:NSURLSessionTask