Realizar segue después de que se descarte UIAlertController

He tenido problemas similares en el pasado conUIAlertController en el sentido de que siempre hay un retraso en el hilo de la interfaz de usuario después de laUIAlertController es despedido
Mi problema ahora es que quiero realizar una segue si el usuario hace clic en "Ok"UIAlertAction y no pasa nada si "Cancelar"UIAlertAction se presiona.
Este es mi código:

// create the uialertcontroller to display
let alert = UIAlertController(title: "Do you need help?",
                              message: "Would you like to look for a consultant?",
                              preferredStyle: .alert)
// add buttons
let okay = UIAlertAction(title: "Yes, please.", style: .default, handler: {_ in
    self.performSegue(withIdentifier: "segue", sender: nil)
})
let no = UIAlertAction(title: "No, I'm okay.", style: .cancel, handler: nil)
alert.addAction(okay)
alert.addAction(no)
self.present(alert, animated: true, completion: nil)

Lo que está sucediendo actualmente es cuando toco "Ok", el segue se está ejecutando, pero solo puedo ver los últimos momentos de la transición (es decir, la animación comienza mientras elUIAlertController está siendo despedido).
¿Cómo hago para que el segue comience una vez queUIAlertController es despedido?

Nota: prefiero no resolver esto en un método hacky como realizar el segue después de un retraso fijo si hay otra forma.

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta