Куда добавить 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;
}