0

我正在使用下載管理器,並且正在嘗試更新指示下載速度和剩餘百分比的標籤。延遲從連接中更新的標籤:didReceiveData:data

它在連接內更新方式太快了:didReceiveData雖然,並使用performSelector並延遲從該方法不起作用(它只是延遲啓動之前很長時間)。

我應該怎麼做才能更新下載速度或剩餘百分比等內容?

回答

1

如果你不想盡快更新顯示儘可能只記錄上次更新時間。如果當前時間不是至少,比如自上次更新0.5秒以後,只是不更新​​此通道。

1

這將是有益的,看看你是如何計算的速度和比例,但一個方法是:的connection:didReceiveData

  • 兩個電話之間

    1. 計算經過時間(單位:秒)以當前接收的大小數據(我們稱之爲size
    2. 到目前爲止下載
    3. 合計數據的大小(可以稱之爲downloadedSize
    4. Speed = size/timeElapsed
    5. Percentage = downloadedSize/Total data size(假設有的話)
    6. 轉換爲所需單位
    7. 更新標籤(我不明白你爲什麼要在這裏拖延)
  • +0

    我想他想延遲它,以防止標籤更新每一幀,或至少如此之快,以至於用戶無法讀取它... – 2012-04-18 11:39:30

    +0

    是的,我只是想防止標籤更新每一幀。 – arooo 2012-04-18 11:50:25

    +0

    你截斷你的計算? (例如1.333333等僅顯示1.3 ...) – giorashc 2012-04-18 11:57:41