2016-05-13 3 views
2

У меня есть UIProgressView, который используется, чтобы показать пользователю ход загрузки файла. Запрос загрузки выполняется в фоновом потоке, а в блоке выполнения в основной поток вызывается обновление значения значения UIProgressView.UIProgressView update lag

Он хорошо работает примерно до 40%, но затем он висит и быстро появляется на уровне около 100%, а пользовательское предупреждение закрывается (как и должно быть). Я пробовал несколько раз, но я не могу заставить его плавно обновлять до 100%.

У меня также есть кнопка отмены, что я заметил, что она не отвечает на краны в диапазоне 40% - 100%. Итак, каким-то образом основной поток блокируется. Поскольку в диапазоне 0% - 40% кнопка отмены работает отлично. Я очень уверен, что я не блокирую основной поток при загрузке файла, и что обновление UIProgressView выполняется в основном потоке.

В чем может быть проблема?

ответ

2

Я, наконец, понял почему. Это было потому, что у меня был вызов NSLog в блоке прогресса, который назывался довольно много.

Я до сих пор не понимаю, почему он это сделал, и почему постоянно около 40%, но я думаю, что это нехорошо иметь его в производстве, тем не менее.