Допустим, у меня есть 3 ViewControllers - A, B и C. A показывает B, B показывает C. Затем я хочу вернуться в A, не пройдя (визуально) B (например, кнопка «домой»)). В настоящее время моя проблема заключается в том, что когда я разматываю A, на короткий период времени отображается B (вызываются методы viewWillAppear и т. Д.). Как я могу это решить?Unwind segue - возврат нескольких просмотров
Note1: Приведенный выше пример очень упрощен по сравнению с моим реальным навигационным навигационным деревом приложений, и для меня использование NavigationController в качестве контейнера для всех A, B и C невозможно (или по крайней мере нежелательно). Немногие из причин находятся в середине перехода, есть сложные вставки segues и различные пользовательские изменения (почти все анимированные переходы абсолютно разные) во всех представлениях.
Note2: Я нашел какое-то псевдо-решение с определением пользовательского segue и его использованием в качестве пользовательского Unwind Segue. Это нежелательно, потому что я хочу использовать мои уже сделанные переходные аниматоры.
Любая помощь очень ценится.
Насколько я могу видеть segue от C до A (какой тип находится за B), не разматывайте segue (исправьте меня, если я ошибаюсь). Если то, что я предполагаю, верно, тогда это начнет течь ... ну не совсем утечка, но используя все больше и больше памяти после циклирования A-> B-> C-> A-> B-> C-> A. .. количество копий A, например, в памяти после A-> B-> C-> A, равно 2, что плохо для приложения. Развертка segue фиксирует это, не создавая новый контроллер каждый раз, когда вы переходите к нему, и повторно используете уже созданную копию (не на 100% правильную, но вы получаете точку) – devfreak
Да. Сожалею.В ответ на ваш комментарий я полностью изменил свой ответ. – simons