Каждый UIViewController имеет свойство с именем navigationController.Если UIViewController является частью стека UINavigationController, вы можете использовать свойство navigationController следующим образом:
[self.navigationController pushViewController:yourNextViewController animated:YES];
Нет необходимости обращаться к rootViewController только для добавления нового ViewController в стек.Это могло бы стать действительно ужасным, если бы у вас были большие стеки навигации.
Кстати - Apple заявляет , что UINavigationController не предназначен для создания подклассов.Обычно хорошей идеей является выслушать их предупреждения и указания, поэтому вы можете снова захотеть вернуться к подходу подклассов.использование подкласса UIViewController, который загружается в стек UINavigationController, может оказаться лучшим подходом.
Надеюсь, это поможет.