У меня есть иерархия представления, которая настраивается (программно) следующим образом:
Window.root = TabBarController -> UINavigationControllers -> UIViewControllers
Я полагаю, что это довольно стандартно.Вот моя проблема:
Я на вкладке A. Я хочу перейти на вкладку B и вызвать метод visibleViewController на вкладке B.
// View Changes OK
[AppDelegate.tabBarController setSelectedIndex:tabB];
// nav = 0x387ABF i.e. Valid Address
UINavigationController *nav = (UINavigationController*)[AppDelegate.tabBarController selectedViewController];
// The problem:
nav.viewControllers; // this is nil
nav.topViewController; // as is this
nav.visibleViewContorller; // this too.
Даже если я поставлювызовы nav.viewControllers
в отдельном методе, который вызывается из основного потока, я все еще получаю 0x0
/ nil
.
Что я делаю не так?
Продолжениевопрос: как я могу передавать информацию от одного ViewController к другому при смене вкладок?(Если я не могу вызывать методы на VC от tabA до tabB)
У меня есть ощущение, что это связано с моим вопросом здесь.