我有一个模态选择,它从视图控制器到嵌入在表格视图中的选项卡栏控制器,如您在此屏幕截图中所见:
我想在登录屏幕和表格视图之间传递数据。我使用以下代码:
-(IBAction)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"Enter App"]){
//Pass on username so that app can set everything up for that specific user
GamesListTableViewController *gamesList = (GamesListTableViewController *)segue.destinationViewController;
if ([segue.destinationViewController isKindOfClass:[GamesListTableViewController class]]) {
NSLog(@"ENTERING PROPER CLASS");
}
else{
NSLog(@"ENTERING WRONG CLASS");
}
gamesList.userID = self.userID;
}
}
由于最后一行代码,我的应用程序崩溃了。然后我检查了原因(如您在上面的代码中看到的),原因是segue的目的地不是GamesListTableViewController,而是我假设的是选项卡栏控制器。我如何解决这个问题?
最佳答案
UITabbarController *tabController = (UITabbarController*) segue.destinationViewController;
UINavigationController *nav = (UINavigationController*) tabController.viewControllers[0]; // or some other nr
GamesListTableViewController *tvc = nav.topViewController;