I have a class that generates images to be printed by the user. These images are created using QuartzCore (and some UIKit elements) and need to be run on the main thread.
In the view visible to the user while the images are being generated, I have a progress bar. This view is the delegate of the class that does the printing, and a method is called by the printer on the view to update the progress bar. The problem is, the progress bar doesn't visibly update until the printer is finished because the printer is clogging up the main thread. I can't move the progress bar off of the main thread because all UI updates must be done on the main thread.
I'm fairly new to multithreading; do I have any other options or must I go with an activity indicator or something similar?