У меня есть 1 основной UIViewController, который содержит UITabBarController.Контроллер панели вкладок имеет 4 UIViewControllers (каждый управляется UINavigationControllers).Вкратце, это выглядит так:
MainViewController
|
|--- FirstUIViewController
|
|--- SecondUIViewController
|
|--- ThirdUIViewController
|
|--- FourthUIViewController
FirstUIViewController загружается по умолчанию.
В SecondUIViewController есть событие, которое может произойти.Это событие имеет определенные данные, которые передаются вместе с ним.Когда происходит это событие, я хочу, чтобы произошло 2 события:
1) В контроллере панели вкладок должен быть выбран FourthUIViewController, чтобы визуально показать, что была введена другая вкладка.
2) Последующее действие вЧетвёртыйUIViewController, где выбран определенный UITableViewCell.Выбранная ячейка определяется данными, которые передаются в событии.
Для этого я создал наблюдатель NSNotification в MainViewController.Он прослушивает событие из SecondUIViewController и получает данные от него через userInfo.
Я также знаю, что из MainViewController я могу легко установить selectedIndex на UITabBarController, чтобы отобразить правильную вкладку.(# 1 выполнено).
Однако выполнение # 2 сбивает меня с толку.Я не знаю, как (правильно, правильно) установить selectedIndex панели вкладок, а затем заставить FourthUiViewController воздействовать на выбранную ячейку.Я предполагаю, что FourthUIViewController, возможно, не был загружен до того, как это событие произойдет, поэтому я не смог установить какие-либо параметры или вызвать каких-либо наблюдателей.
Возможно, более широкий вопрос заключается в том, как данные могут передаваться при загрузке UIViewController через выбор вкладки(по сравнению с запуском нового UIViewController, который очень прост).
TIA.