У меня есть TabBar с ViewController в нем. Я делаю это в моем AppDelegate. Итак, у меня есть один UINavigationController
test1ViewController = [[Test1ViewController alloc] init];
test2ViewController = [[Test2ViewController alloc] init];
test3ViewController = [[Test3ViewController alloc] init];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController: test2ViewController];
NSArray* controllers = [NSArray arrayWithObjects: test1ViewController, navigationController, test3ViewController, nil];
[self.tabBarController setViewControllers:controllers animated:YES];
[navigationController release];
Теперь у меня проблема с этой строкой исходного кода:
[(Test2ViewController *)[appDelegate.myTabBarController selectedViewController] methodName:arg1 withTag:arg2];
Здесь будет SIGBRT, потому что selectedViewController в этом случае является "UINavigationController". Но я хочу вызвать метод "Test2ViewController". Как я мог это сделать?
Обычно я также делаю это:
if([[appDelegate.myTabBarController selectedViewController] isKindOfClass:[Test2ViewController class]]) { ... }
Но это также не помогло, потому что это UINavigationController. Как это исправить? Кто-нибудь знает?
Большое спасибо заранее и наилучшими пожеланиями.