5

我正在尝试在后台执行多个请求以下载许多 json 并从中检查数据,但在这种情况下我不知道如何使用 AFNetworking。

我尝试像 Wiki 解释那样做,但是当它要下载第二个文件时,应用程序就会中断。我想在后台完成所有过程。

谢谢

4

2 回答 2

6

AFNetworking 肯定会处理这个问题。我们使用它与一组 RESTful 服务交换数据。要记住的事情:

  • 一个操作(例如 AFHTTPRequestOperation)只能使用一次。
  • 操作是异步的。
  • 将您的操作放在 NSOperationQueue 中,或使用 AFHTTPClient(建议)为您管理操作。
  • 发送多个请求时,始终假设响应将以随机顺序返回。无法保证您会以与请求相同的顺序获得响应。

希望这有助于为您指明问题的解决方案。如果您的问题没有更多细节,很难给您一个具体的答案。

于 2012-10-11T03:21:58.717 回答
6

查看AFHTTPClient's enqueueBatchOfHTTPRequestOperations:progressBlock:completionBlock:,它允许您一次将多个请求操作排入队列,另外还有一个在所有请求完成时调用的完成处理程序,以及一个用于跟踪进度的块。另请注意,每个操作仍然可以有自己的完成处理程序(例如,如果您必须处理请求的结果,这很有用)。

如果您不需要自定义请求操作(并且不需要单独的完成块),您也可以使用enqueueBatchOfHTTPRequestOperationsWithRequests:progressBlock:completionBlock:,它允许您直接传递一个数组,NSURLRequest而无需自己构建操作。

于 2012-10-15T15:27:21.267 回答