我不使用:ASIHTTPRequest,AFNetworking,RestKit。
我有多个图像/文件要通过异步调用Web服务进行下载。
我在下载过程中展示了SVProgressHUD(活动指标,不 栏)。
直到这一点,一切正常。
现在,我的客户希望我在正在下载的文件的视图上显示单个Progress Bar ,以便让用户了解所需的大致时间。
问题:如何获取正在下载的文件的合并时间/大小异步。
我愿意使用任何符合此目的的API。我希望我在这里有意义。
困难时期。任何提示?
答案 0 :(得分:3)
看一下NSProgress,它不是UIKit类,但允许你创建NSProgress的多个实例(每个活动一个),然后获得一个可以连接到UI的组合进度值。
这里有一个很好的例子,有例子: http://oleb.net/blog/2014/03/nsprogress/
您基本上使用KVO来读取进度值,然后更新您的UI元素,即进度条。
答案 1 :(得分:1)
一个选项是使用“head”请求获取所有文件的长度,然后自己计算: 下载的数据量/总数据长度。
这篇文章将帮助您获得总内容长度:Objective-c Check file size from URL without downloading
其他选项 - 开始在单独的线程中下载每个文件,并使用共享变量来获取合并时间。
希望这有帮助。