No, you don't. UIView.animate already ensures main thread, the animation block automatically executes on the main thread. Double-wrapping adds unnecessary overhead makes your current code creates redundant main queue dispatches.