Мониторинг стека UINavigation

Есть ли способ отслеживать, какой контроллер представления был у навигационного контроллера до того, как он нажал на текущий контроллер представления. и наоборот, какой контроллер представления он вытащил из стека, прежде чем добраться до текущего контроллера представления?

заранее спасибо


person Makinitez21    schedule 03.01.2010    source источник


Ответы (2)


NSArray *viewControllerArray = [self.navigationController viewControllers];
NSUInteger parentViewControllerIndex = [viewControllerArray count] - 2;
NSLog(@"Parent view controller: %@", [viewControllerArray objectAtIndex:parentViewControllerIndex]);

Этого должно быть достаточно, чтобы установить свойство, которое отслеживает свойства последнего извлеченного контроллера представления.

person Alex Reynolds    schedule 03.01.2010

  1. Для контроллера представления, который был сверху до того, как был добавлен новый, вы можете проверить объект с индексом n-2 в viewControllers контроллера навигации

  2. Что касается контроллера представления, который был выскочен, я думаю, вам придется следить за этим самостоятельно. Вы можете использовать статическую переменную или синглтон.

person gerry3    schedule 03.01.2010