Transiciones inconsistentes / segue incendios pero no transición

DESCARGO DE RESPONSABILIDAD : Esta pregunta no responde a mi pregunta: Segue Fires, pero la pantalla no transita

Tengo un segue a un controller de vista que carga datos de un file JSON en el método viewDidLoad. De acuerdo con mis cronómetros, la function que extrae datos del file, solo usa 0.2 segundos para completar, y mi viewDidLoad-function se completa después de 0.21 segundos.

Aunque parezca que todo está "listo para la transición" casi instantáneamente, ¡no lo hace hasta 8 segundos completos!

Además, cuando uso un desenrollo de nuevo al controller de vista original, y luego llevo a cabo la misma operación nuevamente en el "VC de carga JSON", la segue puede:

  • usa mucho más time para la transición.
  • no puede hacer la transición
  • Solo las transiciones después de haber presionado la pantalla una vez más.

Ahora según mi lógica, tengo un par de posibles escenarios:

1) La carga de datos realmente lleva 8 segundos, pero esto realmente no es muy lógico, ya que mis timeres están dentro de la function que carga los datos.

2) El segue "se confunde" debido al pequeño retraso de time que la function viewDidLoad utiliza para completar, y luego "se confunde" durante otros 8 segundos hasta que transita.

He intentado cambiar entre show, modal y segues personalizados, pero eso no hace ninguna diferencia.

Si necesita más información sobre esto, pregunte. Cualquier sugerencia sera apreciada.

EDIT: Estoy ejecutando los segues de las celdas en una vista de tabla.