私はダウンロードマネージャーに取り組んでおり、ダウンロード速度と残りの割合を示すラベルを更新しようとしています。
ただし、connection:didReceiveData内での更新が速すぎるため、performSelectorを使用してそのメソッドから遅延させることはできません(開始する前にそれだけ遅延させるだけです)。
ダウンロード速度や残りの割合などを更新するにはどうすればよいですか?
私はダウンロードマネージャーに取り組んでおり、ダウンロード速度と残りの割合を示すラベルを更新しようとしています。
ただし、connection:didReceiveData内での更新が速すぎるため、performSelectorを使用してそのメソッドから遅延させることはできません(開始する前にそれだけ遅延させるだけです)。
ダウンロード速度や残りの割合などを更新するにはどうすればよいですか?
速度とパーセンテージを計算する方法を確認すると便利ですが、1つのアプローチは次のようになります。
connection:didReceiveData
size
)downloadedSize
)Speed = size / timeElapsed
Percentage = downloadedSize / Total data size
(あなたがそれを持っていると仮定して)表示をできるだけ早く更新したくない場合は、最後に更新した時刻をメモしておいてください。現在の時刻が、たとえば最後の更新から0.5秒以上経過していない場合は、このパスで更新しないでください。