pushViewController Extremely slow
Had similar problem before, try the following
dispatch_async(dispatch_get_main_queue(), ^{
// your navigation controller action goes here
});
Dino's answer saved my life. He got my upvote. I'm just adding this for modern swift users.
DispatchQueue.main.async {
self.navigationController?.pushViewController(vc, animated: true)
}