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