我已经按照Ray Wendelich的教程iOS 7中使用Storyboards创建TabBarController进行了操作。
只需查看Storyboard图像即可。 Ray通过以下代码访问'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', reason: '*** -[__NSArrayI objectAtIndex_]: index 1 beyond bounds [0 .. 0]'
故障发生在storyboard图片中:
基本上,我想从appdelegate访问PlayerdetailsViewcontroller。 我觉得我漏掉了一些东西,你有什么想法吗?