2016-05-13 76 views
2

我有一個UIProgressView它用於向用戶顯示文件下載的進度。下載請求在後臺線程中完成,並且在進度塊中,在主線程上調用UIProgressView進度值更新。UIProgressView更新滯後

它可以很好地運行到40%左右,但是它會掛起並快速顯示在100%左右,並且自定義警報關閉(因爲它應該)。我嘗試過多次,但無法順利更新至100%。

我也有一個取消按鈕,我注意到它在40%-100%範圍內沒有響應水龍頭。所以,不知何故,主線程被阻止。因爲在0% - 40%的範圍內,取消按鈕完美地工作。我非常肯定,我不會通過文件下載來阻止主線程,並且UIProgressView更新在主線程上完成。

可能是什麼問題?

回答

2

我終於明白了原因。這是因爲我在進程模塊中調用了一個NSLog,這個進程被稱爲很多。

我仍然不明白爲什麼它會這樣做,爲什麼它總是在40%左右,但我認爲在生產環境中使用它並不是一個好主意。