ios - AFNetworking 可以处理请求队列吗?

标签 ios ios7 afnetworking afnetworking-2

我在 iOS 6 上的示例:

  • 需要将 10 个多部分请求(按顺序)发送到服务器。 (所以请求形成一个队列)
  • 应显示进度。
  • 如果一个请求失败,所有后续请求都应该失败
  • 请求队列应该是可取消的

AFNetworking 可以帮我解决这个问题吗?或者我应该尝试使用 NSOperations 构建一些东西并自己运行循环?

如果我需要在这些请求之间传递上下文数据,例如第一个请求生成的事务 ID。我需要考虑有关线程可见性的任何注意事项吗?

最佳答案

AFNetworking 可以做到这一点。我建议您使用 AFHTTPRequestOperationManager(它本身使用 NSOperation),而不是 AFHTTPSessionManager。使用 AFHTTPSessionManager 有多种方法可以做到这一点,但没有一种方法像操作那样优雅。

在幕后,如果没有经理,您会做以下事情:

您将使用请求序列化器来生成 NSMutableURLRequest(例如,[AFHTTPRequestSerializer -multipartFormRequestWithMethod:URLString:parameters:constructingBodyWithBlock:error:];也有类似的 JSON 请求序列化器)。

获得 URL 请求后,使用 [AFHTTPRequestOperation -initWithRequest:] 进行操作。您还应该设置它的完成 block 。

最后,将您的操作添加到[AFHTTPRequestOperationManager manager].operationQueue启动


现在您已经了解这基本上是如何协同工作的,下面是一个更简单的方法:

  • 子类 AFHTTPRequestOperationManager,如果您不喜欢默认值,可以选择设置 requestSerializer
  • 覆盖(或使用新实现复制)-POST:parameters:constructingBodyWithBlock:success:failure:] - 你想要做的不是立即开始你的操作.
  • 设置 NSOperation 依赖链
  • 开始第一个

关于ios - AFNetworking 可以处理请求队列吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22088186/

相关文章:

ios - 构建 iOS 失败 - Cordova Ionic iOS

iphone - Multipeer Connectivity 音频流在后台停止工作

iphone - 对于使用 MKAnnotation、CGBitmapContextCreate 和 NSOperationQueue 开发的 map 功能,应用程序在 iOS 7 上崩溃

ios - AFNetworking 中的错误响应解析

ios - 使用alamofire上传图片

iphone - AFNetworking 2.0 错误 :Property with 'retain (or strong)' attribute must be of object type

ios - React-native-maps lite 模式不适用于 Ios 模拟器

ios - swift 在 Iphone 上的屏幕截图只有白色背景

ios - 核心数据可以用来保存可编码结构吗?

ios - 为什么我的 UITableView 的顶部有额外的填充,在 iOS7 中具有 UITableViewStyleGrouped 样式