Теория
Why did the UI render correctly before adding an explicit main-thread dispatch?
В iOS обновление пользовательского интерфейса должно выполняться только в основном (главном) потоке, так как UIKit не является потокобезопасным.
Читать ответ