Куда добавить Observer в iOS

Я использую Objective-C для разработки приложения TabBar для iOS. Когда пользователи открывают приложение, оно находится в tab1. Когда пользователи нажимают на изображение в tab1, приложение переходит к tab3 с именем изображения.

Проблема в том, где вызвать addObserver в tab3, так как tab3 никогда не открывается?

1 ответ

Решение

Если я правильно понимаю ваш вопрос, вы просто хотите открыть вкладку 3, когда вы нажимаете фотографию на вкладке 1

ИМО, у него должно быть что-то вроде window->mainController->tabController [tabs]

В вашем tab1Controller вы можете настроить делегата, назовите его "Tab1ControllerDelegate", имея метод с именем "tab1DidSelectSomething:(NSString *) что-то". затем в вашем mainController вы можете назначить делегата для себя.

 i.e.
  tab1Controller.delegate = self;

В вашем действии выбора tab1Controller вы можете сделать что-то вроде:

if(_delegate){ [_delegate tab1DidSelectSomething:<whatEverheSelected>]; }

Тогда в вашем главном контроллере:

-(void)tab1DidSelectSomething:(NSString *)something{ // get the viewController here UIViewController *controller = _tabController.viewControllers[2]; [controller updateselected:something]; _tabController.selectedIndex = 2; }

Другие вопросы по тегам