gpt4 book ai didi

iphone - AFNetworking 监控所有下载过程

转载 作者:行者123 更新时间:2023-11-28 23:00:32 24 4
gpt4 key购买 nike

我正在尝试从远程下载文件,现在我可以监控每个文件的下载成功状态

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

但是有什么办法可以监控整个下载过程呢?我怎么知道所有下载都已完成?

我尝试用

开始下载请求
[afhttpClient enqueueBatchOfHTTPRequestOperations:operationArray 
progressBlock:progressBlock
completionBlock:completionBlock];

好像不行,那么上面的代码和在循环中用[operation start]开始下载请求有什么区别呢?

@mattt(如果你能看到的话)

最佳答案

您很可能有一个用于下载图像的 URL 对象的 NSArray。您需要做的是创建一个等于 URL 对象计数的整数值。每次你成功下载一个图像或完全下载失败(例如在几次超时后或收到 404 HTTP 状态代码)你需要递减那个整数(注意它应该是一个原子属性,因为 block 正在不同的执行线程)。一旦计数达到零 - 所有请求都已完成。您还可以使用该整数来更新进度条或简单地通知用户“#/15 图像已下载”。如果您需要任何其他说明,请告诉我。

不幸的是,我没有使用过 AFHTTPClient,所以我不能准确地告诉你这两个操作之间的区别,但是从上下文来看,第一个几乎同时异步执行所有请求,而后者使用连续的方法,其中第二个请求只会在第一个请求完成后启动。

关于iphone - AFNetworking 监控所有下载过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10072441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com