¿Por qué mi desconexión segue retrocede demasiado?

Estoy tratando de crear la arquitectura del controlador para el proceso de registro de mi aplicación. A continuación se muestra una imagen del estado actual:

La aplicación se inicia en una página de inicio de sesión la primera vez y si el usuario hace clic en "Registrarse", se presentará un controlador de navegación modalmente a través deself.presentViewController. El controlador de navegación luego empuja a través de un controlador de vista que luego empuja a un segundo controlador de vista. En este segundo controlador de vista, el usuario primero debe presionar "Ir" para navegar modalmente a un controlador de vista que solicite información adicional antes de continuar con el proceso de registro. Una vez que el usuario ingresa información adicional sobre este controlador presentado de forma modal, el usuario presiona "Volver" para regresar al segundo controlador de vista a través de un segmento de desenrollado.

Sin embargo, cuando se presiona este botón, el desenrollado regresa al segundo controlador de vista, pero inmediatamente vuelve a la página "Iniciar sesión". Parece que la secuencia de desenrollar elimina todas las vistas presentadas modalmente aunque la función de desenrollar esté anidada en el segundo controlador de vista.

¿Qué está pasando y cuál es la solución para relajarse en la segunda página de registro?

Respuestas a la pregunta(1)

Su respuesta a la pregunta