Вы можете представить тип как свойство в вашем общем контроллере представления и установить его, когда выбран соответствующий элемент панели вкладок (tabBarController:didSelectViewController:
из протокола UITabBarControllerDelegate - ваш делегат приложения будет делегатом контроллера панели вкладок).
Вы бы настроили это следующим образом.Объявите, что ваш делегат приложения соответствует протоколу UITabBarControllerDelegate, затем установите его в качестве делегата контроллера панели вкладок (вы должны сделать это в коде, поскольку делегат приложения недоступен для подключения в раскадровке).В вашем applicationDidFinishLaunching добавьте следующее перед возвратом YES:
UITabBarController *tbc = (UITabBarController*)self.window.rootViewController;
tbc.delegate = self;
Затем реализуйте следующий метод делегата:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
switch (tabBarController.tabBar.selectedItem.tag)
{
case 1:
viewController.property = @"propertyA";
break;
case 2:
viewController.property = @"propertyB";
break;
}
NSLog(@"view controller is %@",viewController);
}
Вам нужно будет привести переменную viewController к вашему фактическому представлениюкласс контроллера, а также назначьте соответствующие теги элементу панели вкладок каждого контроллера представления.