Использование Swift-4.0.3, iOS-11.2, Xcode-9.2, iPhone-6S (или Simulator-10.0)
Примерно через неделю я пытаюсь выяснить, в чем проблема со следующей проблемой: пользовательский интерфейс зависает всякий раз, когда вы повторно входите в ViewController, который включает URLSession-Background-DownloadTask. Под повторным входом я имею в виду: переход от VC к Detail-VC и обратно к VC... и затем RE-ENTER во второй раз из VC к Detail-VC.
Мой пример проекта можно найти здесь на github: https://github.com/korners/Test00008
В примере проекта используется MZDownloadManager от mzeeshanid. Я пробовал и другие фреймворки - та же проблема. MZDownloadManager — это просто очень хорошая реализация, которую я нашел.
Вернемся к проблеме: теперь - что касается первой записи Detail-VC: все работает гладко, как и должно (без проблем). Даже закрытое приложение будет плавно запускаться в уже запущенную background-downloadTask (без проблем - т.е. ProgressBar и метки пользовательского интерфейса хорошо обновляются).
Но если пользователь нажимает кнопку «Назад» на Detail-VC (верхняя панель NavigationController) — с этого момента Detail-VC можно увидеть только в замороженном состоянии по умолчанию! (нет Обновления пользовательского интерфейса или движения progressBar больше не нужны).
Я высоко ценю любую помощь в этом!
P.S. Кстати, проблемы создает не Segue как таковой. Я также попытался создать экземпляр VC из раскадровки - и то же самое: ПОВТОРНЫЙ ВХОД замораживает пользовательский интерфейс:/