Можно ли использовать переход от одного модального контроллера представления к одному или нескольким экземплярам одного и того же контроллера исходного представления?

Моя раскадровка такова, что у меня есть MainVC соединен с ModalVC через сеанс, который представляет это модально.

Однако программно во время выполнения я создаю пять экземпляров MainVC в целом.

В результате все пять экземпляров MainVC, с тем же идентификатором, подключены к ModalVC,

Мне нужно изменить свойства в MainVC после выполнения некоторых действий в ModalVC и отклонить его, и, как представляется, существуют различные способы сделать это с помощью segues.

Верхний ответ здесь довольно подробный и объясняет реализацию использования раскрутки segue, но только в сценарии с одним контроллером представления источника: передача данных с раскруткой segue

Мой вопрос: будет ли использование в моем случае segue, как в этом ответе, или любым другим способом, с несколькими экземплярами одного и того же MainVC (тот же идентификатор), прикрепленный к одному экземпляру ModalVC?

Будет ли раскручиваться только передача данных или выполнение действий в едином MainVC экземпляр который инициировал это? Или это в конечном итоге повлияет на все пять MainVC случаи, потому что MainVC экземпляры имеют одинаковые идентификаторы? Если последнее, есть ли способ обойти это?

1 ответ

Решение

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

В вашем случае это будет MainVC экземпляр, который представил ModalVC это раскручивается. Последовательность отката не может быть обработана экземпляром контроллера представления, который не находится в иерархии навигации (например, экземпляром MainVC это не представляло ModalVC)

Другие вопросы по тегам