У меня есть приложение контроллера с вкладками с двумя вкладками. Одна из моих вкладок использует навигационный контроллер.
Контроллер навигации, который я сделал для этого, находится в представлении A. Представление A действует исключительно как контроллер и автоматически выдвигает представление B, которое, в свою очередь, выдвигает представление C, которое выдвигает представление D.
Я хочу, чтобы следующим представлением был Вид B, поэтому я использовал
NSArray *viewControllers = [[self navigationController] viewControllers];
int i=0;
while (! [[[viewControllers objectAtIndex:i] nibName]
isEqualToString:@"ViewBController"]
&& i < [viewControllers count])
i++;
чтобы получить желаемое представление (в некоторых случаях порядок представлений может измениться, поэтому я не хочу его жестко кодировать)
а затем
self.navigationController popToViewController:[viewControllers objectAtIndex:i] animated:NO];
чтобы вернуться к просмотру B
Моя проблема в том, что в этот момент приложение вылетает. Ну, технически это происходит сбой после освобождения View C (я поставил nslogs там, чтобы это выяснить).
Понятия не имею, в чем может быть моя проблема? Кто-нибудь может дать понимание?
РЕДАКТИРОВАТЬ: я также попытался создать новый контроллер представления, View E, и нажать его, и он по-прежнему вылетает