OStack程序员社区-中国程序员成长平台

标题: ios - 如何在 AFNetworking 2 中执行 AFHTTPRequestOperation [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 21:41
标题: ios - 如何在 AFNetworking 2 中执行 AFHTTPRequestOperation

我在以前的一些应用程序中多次使用 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 23 时代,他们以某种方式改变了场景。我现在没有找到关于如何实现它的确切解决方案。那么任何人都可以在下面的答案中编写适用于最新版本 AFNetworking 的代码。



Best Answer-推荐答案


这是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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4