0

我一直在嘗試加載我的CafesViewController時遇到崩潰。我將文件檢查器中的所有標識符都設置爲CafesViewController,並且還選中了「使用Storyboard ID」。InstantiateViewControllerWithIdentifier CRASH(Xcode 4)

我的主菜單查看加載完美,因爲它被定義爲我的plist中的默認故事板,但是,當按下按鈕加載我的咖啡館列表時,加載咖啡館選項時會斷開連接(我的應用程序是城市目錄的事情要做)。

我當前的代碼是:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([mlabel.text isEqualToString: @" Cafés " ]) 
    {   
    UIStoryboard *cafesViewController = segue.destinationViewController; 
    cafesViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"CafesViewController"]; 
    } 
} 

如果有人能夠提供輸入,我將不勝感激,因爲我不知道在哪裏斷開的。當然,錯誤讀取「'NSInvalidArgumentException',原因:'Storyboard()不包含視圖控制器與標識符'CafesViewController'

我在想我的行動號碼是錯誤的,但有人可以給我?它們的輸入

謝謝

+0

這裏有幾個問題。一個是'destinationViewController'是一個視圖控制器,因此不能是'UIStoryboard'。 (我會認爲編譯器會標記它!)但更大的一個是,當prepareForSegue:被調用時,你已經處於激活一個新的視圖控制器的狀態,所以實例化另一個控制器似乎是一個錯誤的想法。 –

+0

謝謝菲利普!我修改了這個版本,但不知道這是否工作: – Greg

+0

如果([mlabel.text isEqualToString:@「Cafés」]) { UIStoryboard * cafes = [UIStoryboard storyboardWithName:@「Cafes」bundle:零]; UIViewController * CafesViewController = [cafes instantiateInitialViewController]; [self presentViewController:CafesViewController animated:YES completion:nil]; } – Greg

回答

0

我解決了我用下面簡單的代碼的問題:

-(void)mainButton 
{ 
    if ([mlabel.text isEqualToString: @" Arts " ]) 
    { 
    [self performSegueWithIdentifier:@"Arts" sender:self]; 
    } 
} 

在研究中,我瞭解到,我可以做什麼,我想簡單地用按鈕樣本如上所述,而不是PrepareForSe GUE。好簡單。

相關問題