将代码从 AFNetworking 2 迁移到 3

Posted

技术标签:

【中文标题】将代码从 AFNetworking 2 迁移到 3【英文标题】:Migrating code from AFNetworking 2 to 3 【发布时间】:2016-07-25 10:38:45 【问题描述】:

我有以下 AFNetworking 2 代码(来自库),我正在尝试迁移到 AFNetworking 3,但我不明白如何对任务而不是 NSOperations 进行数据处理。任何帮助将不胜感激:

NSURLRequest *request = [self requestWithMethod:@"GET"
                                           path:messagePath
                                     parameters:nil];
AFHTTPRequestOperation *operation = [self HTTPRequestOperationWithRequest:request
                                                                  success:^(AFHTTPRequestOperation *_operation, id responseObject) 
                                                                      if (success) 
                                                                          success(responseObject);
                                                                      
                                                                  
                                                                  failure:^(AFHTTPRequestOperation *_operation, NSError *error) 
                                                                      NSLog(@"%@", error);
                                                                      if (failure) 
                                                                          failure(error);
                                                                      
                                                                  ];

【问题讨论】:

你想说什么? 点击此链接。 github.com/AFNetworking/AFNetworking/wiki/… @user1686342 你找到解决方案了吗?我也面临同样的问题 【参考方案1】:

如下:

 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

[manager GET:@"Enter_your_URL_here" parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) 

    NSLog(@"JSON: %@", responseObject);

 
failure:^(NSURLSessionTask *operation, NSError *error) 

    NSLog(@"Error: %@", error);

];

【讨论】:

分配manager.responseSerializer 两次看起来不是最理想的。

以上是关于将代码从 AFNetworking 2 迁移到 3的主要内容,如果未能解决你的问题,请参考以下文章

AFNetworking 从 1.x 迁移到 3.x

AFNetworking 3.0 迁移

从 Objective-C 迁移到 Swift:AFNetworking > Alamofire

AFNetworking 3.0 发布问题

AFNetworking 3.0迁移指南

我如何在 AFNetworking 3.0 中获取 allHTTPHeaderFields