Если я правильно понимаю, у вас есть UINavigationController и нажмите на него
- a UITableView
- rViewController (вы не можете выдвинуть представление, должен быть контроллером)
- и «EditController»
Но есть вероятность, что шаг 2 пропущен, и вы сразу перейдете к экрану редактирования.
Теперь, когда последний контроллер отключен, вы хотите иметь возможность всегда переходить к «rViewController», даже если он не находится в стеке.
Прежде всего, parentViewController - это НЕ предыдущий контроллер в стеке, а сам UINavigationController, так что он не имеет никакого отношения к данной проблеме.
Способ сделать это - явно установить свойство viewControllers для UINavigationController с помощью NSArray. Я не пробовал это, но это должно работать:
Когда пользователь нажимает кнопку «Добавить», вместо того, чтобы просто нажимать контроллер представления редактирования, сделайте что-то вроде:
NSArray* stack = navigationController.viewControllers;
navigationController.viewControllers = [stack arrayByAddingObject:rViewController];
[navigationController pushViewController:editController animated:YES];
(Кстати, я бы предложил не использовать имена типа «rView», за исключением, может быть, очень короткоживущих локальных переменных, например, в цикле. Использование описательных имен является очень важной частью идиомы Cocoa и очень вам поможет. в долгосрочной перспективе.)