Дело в том, что это не первое мое приложение Я знаю как передать данные между контроллерами, но в условиях этой архитектуры такая задача немного не очевидна.
Тут дело не в оптимизации, а в том, чтобы разобраться как может (и должно, я думаю) работать приложение. Если вы посмотрите вакансии на место iOS-разработчика, даже на джуна, практически везде требуют знание не очень сложных архитектур – MVP, MVC, MVVM.
Лучше ведь изначально научиться писать код и строить приложения грамотно, чем потом переучиваться, разве не так?
Кстати, многие приложения которые я писал без использования какой-либо архитектуры (или ее подобия), как минимум затрудняют понимание своего же кода через какую-то неделю – не понятно что и где искать. Архитектура хотя бы структурирует код Ну или просто я пишу очень плохо.