Можно ли использовать переход от одного модального контроллера представления к одному или нескольким экземплярам одного и того же контроллера исходного представления?
Моя раскадровка такова, что у меня есть MainVC
соединен с ModalVC
через сеанс, который представляет это модально.
Однако программно во время выполнения я создаю пять экземпляров MainVC
в целом.
В результате все пять экземпляров MainVC
, с тем же идентификатором, подключены к ModalVC
,
Мне нужно изменить свойства в MainVC
после выполнения некоторых действий в ModalVC
и отклонить его, и, как представляется, существуют различные способы сделать это с помощью segues.
Верхний ответ здесь довольно подробный и объясняет реализацию использования раскрутки segue, но только в сценарии с одним контроллером представления источника: передача данных с раскруткой segue
Мой вопрос: будет ли использование в моем случае segue, как в этом ответе, или любым другим способом, с несколькими экземплярами одного и того же MainVC
(тот же идентификатор), прикрепленный к одному экземпляру ModalVC
?
Будет ли раскручиваться только передача данных или выполнение действий в едином MainVC
экземпляр который инициировал это? Или это в конечном итоге повлияет на все пять MainVC
случаи, потому что MainVC
экземпляры имеют одинаковые идентификаторы? Если последнее, есть ли способ обойти это?
1 ответ
Apple имеет исчерпывающую техническую заметку о том, как работают сегменты раскручивания и как определяется контроллер представления назначения, но в итоге процесс исследует иерархию навигации контроллера представления, чтобы найти первый контроллер представления, который может обрабатывать последовательность раскрутки и готов сделать это. так.
В вашем случае это будет MainVC
экземпляр, который представил ModalVC
это раскручивается. Последовательность отката не может быть обработана экземпляром контроллера представления, который не находится в иерархии навигации (например, экземпляром MainVC
это не представляло ModalVC
)