У вас есть правильная идея, но проблема, с которой вы боретесь, кажется, полностью принадлежит вам.Вы говорите, что у вашего делегата приложения есть выход для контроллера навигации, но не для корневого контроллера представления контроллера навигации, потому что вы настроили свой кончик так, чтобы контроллер представления создавался при загрузке кончика.В этом нет ничего плохого, но нет также причины, по которой у делегата приложения не должно быть выхода для этого контроллера.Действительно, вся причина для розеток - получить ссылки на вещи, загруженные из пера.
Добавьте розетку в делегат приложения для вашего корневого контроллера представления и подключите его.Затем делегат приложения может дать контроллеру ссылку на контекст управляемого объекта.
Что касается вашего вопроса о нескольких контроллерах представления, мне интересно, какое реальное приложение может иметь контроллер представления (A), которыйнужны данные, загрузить другой контроллер представления (B), которому не нужны никакие данные, а затем третий (C), который снова нуждается в данных?Реалистичный пример может помочь, если он у вас есть.
Помните, что вам не нужно передавать весь контекст управляемого объекта каждому последующему контроллеру представления.Вместо этого вы можете передать только ту часть модели, которая потребуется контроллеру для выполнения своей работы путем передачи управляемого объекта.