имея методы,

аю приложение, которое имеет функцию корзины покупок. Доступ к корзине VC можно получить из нескольких VC с помощью кнопки на панели навигации. До сих пор у меня был только один навигационный контроллер, и, как показано на рисунке, каждый VC переводит меня к следующему, ничего особенного. Третий ВК (синяя стрелка указывает на) - это ВК, который показывает информацию о товаре / товаре и позволяет мне добавить его в корзину.

Проблема приходит с корзиной ВК. Чтобы отредактировать элемент, я хотел бы повторно использовать те же сведения о товаре / элементе (синяя стрелка указывает на) ВК, который я использовал ранее.

Прямо сейчас у меня нет никаких проблем, но я заметил, что, как только я создал синий переход, навигационная панель 3-го виртуального контейнера исчезла в раскадровке, однако я все еще могла видеть ее, когда запускала приложение.

НОТА:

Все переходы на картинке "Шоу"В корзине VC нет кнопки, чтобы показать себя, как другие 3. Таким образом, технически я предотвратил бесконечный цикл покупок в корзине VC - детали продукта / товара VC показывали друг другу.

Мои вопросы:

Разве неправильно проектировать приложение таким образом, когда виртуальный канал переходит на другой виртуальный канал, а другой виртуальный контроллер может вернуться к первому виртуальному каналу? Я собираюсь столкнуться с проблемами в будущем, возможно утечки памяти некоторого вида?Есть ли лучший способ достичь того, чего я пытаюсь достичь?

Если кому-то нужны дальнейшие объяснения, пожалуйста, дайте мне знать, и я отредактирую свой вопрос.

РЕДАКТИРОВАТЬ: Чтобы уточнить, синий переход в основном кнопка в UITableView в VC корзины. Если вы нажмете эту кнопку, она откроет VC сведений о товаре / элементе и позволит вам редактировать цвет элемента и т. Д. В VC сведений о элементе вместо добавления элемента в качестве нового элемента в корзину я бы показал Edit кнопка, которая отправит запрос на редактирование в API и отклонит VC обратно в корзину, или я мог бы использовать кнопку назад в навигационном контроллере, чтобы вернуться в корзину.

EDIT2: @beshio

Спасибо за ответ. Однако VC1 на самом деле мой корневой VC, где все приложение запускается. Я не понял, почему удалил VC из стека контроллера навигации. Я бы хотел, чтобы кнопка «Назад» работала как положено.

Пока что я добился того, чего хотел, но боюсь, что два VC, пересекающиеся друг с другом, вызовут проблему. Я уже отключил кнопку Корзина в VC3 на случай, если VC3 был представлен из корзины, чтобы избежать петель. Меня беспокоит только утечка памяти в будущем.

Ответы на вопрос(2)

Ваш ответ на вопрос