Ответ 1
В нем IS можно связать контроллер контейнера с дочерним. На самом деле, это очень легко сделать. Вы открываете библиотеку объектов, введите "Контейнер" в поле поиска и найдите объект "Container view". Это выглядит так:
Перетащите представление контейнера в представление содержимого контроллера просмотра.
Затем вы управляете перетаскиванием из представления контейнера на другой контроллер представления, который вы хотите, чтобы представление контейнера принимало хост. IB настраивает для вас "встроенный сегмент". Встраивание segue вызывается при загрузке содержимого содержимого контроллера представления родительского представления. Встраивание segue устанавливает отношение родительского/дочернего представления к контроллеру и требует домашнего обслуживания. Это легко и безболезненно.
Ваш метод prepareForSegue вызывается для каждого встроенного segue. Вы можете назначить уникальные идентификаторы для своих встраиваемых сегментов точно так же, как и другие сегменты, а затем использовать идентификатор segue в вашем файле подготовки, чтобы выполнить дополнительную настройку для контроллера детского представления.
Взгляните на этот проект на github, который показывает, как использовать встроенные segues для включения 2 статических UITableViewControllers в родителях с использованием представлений контейнеров и встраивания segues. Этот проект устанавливает пользовательские протоколы для родительских и дочерних VC для связи друг с другом. В методе prepareForSegue родитель сохраняет указатели на оба дочерних VC, а также устанавливает себя как делегаты обоих дочерних VC, чтобы ребенок мог связаться с родителем.
Вы можете найти проект по этой ссылке: https://github.com/DuncanMC/test