簡體   English   中英

控制器之間傳遞數據會因錯誤的檢測而導致錯誤

[英]Passing data between controllers gives an error due to complicated segue

我有一個模態選擇,它從視圖控制器到嵌入在表格視圖中的選項卡欄控制器,如您從此屏幕截圖中所見:

我想在登錄屏幕和表視圖之間傳遞數據。 我使用以下代碼:

-(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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM