У меня есть класс, который генерирует изображения для печати пользователем. Эти образы создаются с использованием QuartzCore (и некоторых элементов UIKit), и их необходимо запускать в основном потоке.
В представлении, видимом пользователю во время создания изображений, у меня есть индикатор выполнения. Это представление является делегатом класса, выполняющего печать, и принтер вызывает метод представления для обновления индикатора выполнения. Проблема в том, что индикатор выполнения не обновляется визуально до тех пор, пока принтер не закончит работу, потому что принтер засоряет основной поток. Я не могу переместить индикатор выполнения из основного потока, потому что все обновления пользовательского интерфейса должны выполняться в основном потоке.
Я новичок в многопоточности; есть ли у меня другие варианты или я должен использовать индикатор активности или что-то подобное?