在以前的一些应用程序中,我多次使用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. Do you mean AFHTTPRequestSerializer?。
在搜索之后,我发现现在是AFNetworking 2或3时代,他们以某种方式改变了场景。我现在还没有找到关于如何实现它的确切解决方案。任何人也可以在下面的答案中编写适用于最新版本的AFNetworking的代码吗?
发布于 2016-08-07 18:45:20
这是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);
}];希望它能帮上忙!
https://stackoverflow.com/questions/38817316
复制相似问题