In my app I respond to a button event by doing some work that could take several seconds, so I am using a UIProgressView to show progress.  The problem is that even though I am setting the progress property the UI does not update.  I am wondering if this is because I am doing all this in my IBAction method which is called from the button event -- is the problem that the UI will not get updated by changes I make to UIProgressView.property until this method returns?  If so, do I then need to do my work in a separate thread, and have the IBAction method launch this thread and then return immediately?