Bucle del controlador de navegación

Estoy creando una aplicación que tiene una función de carrito de compras. Se puede acceder al carrito de compras VC desde varios VC a través de un botón en la barra de navegación. Hasta ahora solo tengo un controlador de navegación y, como se muestra en la imagen, cada VC me lleva al siguiente, nada lujoso. El 3er VC (flecha azul apuntando hacia) es un VC que muestra los detalles del producto / artículo y me permite agregarlo al carrito.

El problema viene con el carrito de compras VC. Para editar el artículo, me gustaría reutilizar los mismos detalles del producto / artículo (flecha azul apuntando a) VC que usé anteriormente.

En este momento, realmente no tengo un problema, pero he notado que una vez que creé el segmento azul, la barra de navegación del 3er VC desapareció en el Storyboard, sin embargo, todavía podía verlo cuando ejecuté la aplicación.

NOTA:

Todos los segmentos de la imagen son "Mostrar"El carrito de compras VC no tiene un botón para mostrarse como los otros 3. Así que técnicamente evité el interminable / bucle del carrito de compras VC - detalles del producto / artículo VC que se muestran entre sí.

Mis preguntas son:

¿Está mal diseñar la aplicación de esa manera con un VC que va a otro VC y ese otro VC puede volver al primer VC? ¿Voy a enfrentar problemas en el futuro, tal vez alguna pérdida de memoria?¿Hay una mejor manera de lograr lo que estoy tratando de lograr?

Si alguien necesita más explicaciones, hágamelo saber y editaré mi pregunta.

EDITAR: Para aclarar, el segmento azul es básicamente un botón en un UITableView en el carrito VC. Si toca ese botón, debería abrir el VC de detalles del producto / artículo y le permite editar el color del artículo, etc. En los detalles del artículo VC, en lugar de agregar el artículo como un artículo nuevo al carrito, mostraría Editar botón que enviaría la solicitud de edición a la API y descartaría el VC de nuevo al carrito de compras, o podría usar el botón de retroceso en el controlador de navegación para volver al carrito de compras.

EDIT2: @beshio

Gracias por la respuesta. Sin embargo, VC1 es en realidad mi VC raíz donde se inicia toda la aplicación. No entendí por qué eliminé los VC de la pila del Controlador de navegación. Me gustaría que el botón Atrás funcione según lo previsto.

Hasta ahora he logrado lo que quería, pero me temo que tener dos VC seguendo entre sí podría causar un problema. Ya he desactivado el botón Carrito en VC3 en caso de que se haya presentado VC3 desde el Carrito para evitar los bucles. Solo estoy preocupado por cualquier pérdida de memoria en el camino.

Respuestas a la pregunta(2)

Su respuesta a la pregunta