Я следовал этому учебнику Рэя Венделиха RayWenderlichTutorial Tabbarcontroller с использованием раскадровки< /а>
Просто посмотрите изображение раскадровки. Рэй получает доступ к «playersViewcontroller, используя приведенный ниже код»
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
UINavigationController *navigationController = [tabBarController viewControllers][0];
PlayersViewController *playersViewController = [navigationController viewControllers][0];
Когда я пытаюсь получить доступ к playerDetailsViewController, используя следующий код, я получаю сбой. Сообщение
Ratings[2630:60b] * Завершение работы приложения из-за необработанного исключения 'NSRangeException', причина: '* -[__NSArrayI objectAtIndex:]: индекс 1 за пределами [0 .. 0]' *** Первый бросить стек вызовов: (0x30b49e83 0x3aea66c7 0x30a7fff9 0x3ddd1 0x3333eaad 0x3333e4f3 0x33338b41 0x332d3a07 0x332d2cfd 0x33338321 0x357b876d 0x357b8357 0x30b14777 0x30b14713 0x30b12edf 0x30a7d471 0x30a7d253 0x333375c3 0x33332845 0x3e0fd 0x3b39fab7) Libc ++ abi.dylib: оканчивающиеся неперехваченного исключением типа NSException
код
UITabBarController *tabBarController =
(UITabBarController *)self.window.rootViewController;
UINavigationController *navigationController =
[[tabBarController viewControllers] objectAtIndex:0];
PlayersViewController *playersViewController =
[[navigationController viewControllers] objectAtIndex:0];
UINavigationController *nav=[[navigationController viewControllers]objectAtIndex:1];
PlayerDetailsViewController *playerdetailsviewcontroller=[[nav viewControllers]objectAtIndex:0];
Я также попробовал приведенный ниже код,
UITabBarController *tabBarController =
(UITabBarController *)self.window.rootViewController;
UINavigationController *navigationController =
[[tabBarController viewControllers] objectAtIndex:0];
PlayersViewController *playersViewController =
[[navigationController viewControllers] objectAtIndex:0];
PlayerDetailsViewController *playerdetailsviewcontroller=[[navigationController viewControllers]objectAtIndex:1];
где я получаю сбой с сообщением
'NSRangeException', причина: '*** -[__NSArrayI objectAtIndex:]: индекс 1 выходит за пределы [0 .. 0]'
Изображение раскадровки
В основном я хочу получить доступ к PlayerdetailsViewcontroller из appdelegate. Я думаю, что я что-то упускаю, есть мысли?