0

我目前正在将更新功能实现到我正在构建的应用程序中。它使用 NSUrlConnection 和 NSURLConnectionDelegate 下载文件并将它们保存到用户设备。

目前,1 个更新项下载多个文件,但我想使用 1 个 UIProgressView 显示多个文件的下载。所以我的问题是,我如何获得我要下载的所有文件的预期内容长度?我知道我可以获得传递给 didReceiveResponse 方法的 NSURLResponse 对象的 expectedContentLength ,但这仅适用于正在下载的文件。

任何帮助深表感谢。谢谢。

4

2 回答 2

0

在您的服务器上拥有某种信息文件怎么样,它实际上为您提供了总字节数。您可以先加载它,然后再加载文件。然后,您可以从总量中减去每个文件的加载量。

另一种方法是首先连接到所有文件,并在收到响应后取消连接。添加所有文件的预期字节,然后将其用作在加载文件时显示总进度的基础。

#1 的缺点:您必须手动跟踪字节。

#2 的缺点:您将收到双倍的请求,即使它们在响应后被取消。

于 2012-05-09T12:03:10.633 回答
0

使用广泛用于此目的的 ASIhttp 开源框架,在这里你只需要设置 progressview 委托..所以它会不断更新你的进度视图

试试这个 http://allseeing-i.com/ASIHTTPRequest/

于 2012-05-09T12:06:40.700 回答