我正在开发一个下载管理器,我正在尝试更新指示下载速度和剩余百分比的标签。
它在 connection:didReceiveData 中更新得太快了,并且使用 performSelector 并从该方法延迟它不起作用(它只是在开始之前延迟了很长时间)。
我应该怎么做才能更新下载速度或剩余百分比等内容?
我正在开发一个下载管理器,我正在尝试更新指示下载速度和剩余百分比的标签。
它在 connection:didReceiveData 中更新得太快了,并且使用 performSelector 并从该方法延迟它不起作用(它只是在开始之前延迟了很长时间)。
我应该怎么做才能更新下载速度或剩余百分比等内容?
如果您不想尽快更新显示,只需记下上次更新的时间。如果当前时间距离上次更新不到 0.5 秒,则不要在此通道上更新。
了解如何计算速度和百分比会很有帮助,但一种方法是:
connection:didReceiveData
size
)downloadedSize
)Speed = size / timeElapsed
Percentage = downloadedSize / Total data size
(假设你有它)