我在以前的一些应用程序中多次使用 AFNetworking 实现 JSON 解析:
NSString *string = [NSString stringWithFormat"%@?get_all_data", BaseURLString];
NSURL *url = [NSURL URLWithString:string];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.responseSerializer = [AFJSONResponseSerializer serializer];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
{
//performing parsing here
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//error message displayed here
}
但是从今天开始,我开始开发一个应用程序,一段时间后我又开始使用 AFNetworking 并使用 pods 进行安装,因此我编写了相同的代码我以前写过它给我的错误说 Unknown Receiver AFHTTPRequestOperation。你是说AFHTTPRequestSerializer吗?
经过一番搜索,我发现现在是 AFNetworking 2 或 3 时代,他们以某种方式改变了场景。我现在没有找到关于如何实现它的确切解决方案。那么任何人都可以在下面的答案中编写适用于最新版本 AFNetworking 的代码。
Best Answer-推荐答案 strong>
这是AFNetworking 3.x 解析数据的新方法:
NSString *path = @"yourapilink";
NSString *escapedPath = [path stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager GET:escapedPath parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionTask *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
希望对您有所帮助!
关于ios - 如何在 AFNetworking 2 中执行 AFHTTPRequestOperation,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/38817316/
|