Итак, представление A загружает представление B. Позже представление B загружает представление C и хочет перенести свой контроллер вида на контроллер навигации выше по потоку от представлений B?Посмотреть, как?контроллер представления.
При условии, что представление B имеет контроллер представления, который является частью стека навигации, тогда его контроллер представления может захватить контроллер навигации, независимо от того, как далеко он находится в стеке, через [self navigationController]
.
Представления не имеют указателя на свой контроллер, но если вы хотите полностью отключить MVC, вы можете установить контроллер самостоятельно.Лучшим подходом было бы, чтобы контроллер получил действие касания (или что-то еще, что вызывает загрузку и нажатие на представление C), а затем контроллер представления обрабатывал обмен.Например, если представление B является табличным представлением, вы должны установить его контроллер представления как UITableViewDelegate
, чтобы он мог обрабатывать выбор строки путем нажатия на новый контроллер представления.
Ваш вопрос, по-видимому, указывает на то, чтовы не различаете представление, его контроллер представления, контроллер навигации и представление, отображаемое в области содержимого контроллера навигации.Все эти объекты играют разную роль, поэтому вам стоит более внимательно изучить их и их взаимосвязи, прежде чем продолжить разработку приложения.