Xcode4 实例化eviewControllerWithiIdentifier崩溃(Xcode 4)

Xcode4 实例化eviewControllerWithiIdentifier崩溃(Xcode 4),xcode4,uiviewcontroller,uistoryboard,segue,uistoryboardsegue,Xcode4,Uiviewcontroller,Uistoryboard,Segue,Uistoryboardsegue,我在尝试加载CafesViewController时遇到崩溃。我已将我知道的文件检查器中的所有标识符设置为CafesViewController,并选中了“使用情节提要ID” 我的主菜单视图加载得非常完美,因为它在我的plist中被定义为默认的故事板,但是,当按下按钮加载我的咖啡馆列表时,加载咖啡馆选项会断开连接(我的应用程序是一个城市的待办事项目录) 我目前的代码是: - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)s

我在尝试加载CafesViewController时遇到崩溃。我已将我知道的文件检查器中的所有标识符设置为CafesViewController,并选中了“使用情节提要ID”

我的主菜单视图加载得非常完美,因为它在我的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'的视图控制器”

我认为我的行动呼吁是错误的,但有人能给我他们的意见吗


谢谢!

我用以下简单代码解决了我的问题:

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

在研究中,我了解到我可以通过上面指定的按钮简单地通过示例来做我想要的事情,而不是PrepareForegue。非常简单。

这里有几个问题。一个是
destinationViewController
是一个视图控制器,因此不能成为
UIStoryboard
。(我原以为编译器会标记它!)更大的是,当<代码> PraseFraceGue:<代码>被调用时,你已经处于激活一个新的视图控制器的中间,所以实例化另一个控制器似乎是一个错误的想法。谢谢你,菲利浦!我已经修改了这个版本来读这个,但是不确定这是否有效:IF([mlabel.text IseQualtString:@“Cafés”]{UIStoryboard*cafes=[UIStoryboard Storyboard With name:@“cafes”bundle:nil];UIViewController*CafesViewController=[cafes InstanceInitiatialViewController];[self-presentViewController:CafesViewController动画:是完成:nil];}这很难,因为你是对的,我的主情节提要已经被激活了,在这里我试图用一个IF语句开始另一个情节提要,但我不知道还能做什么,因为我有多个情节提要要用一个带有IF语句的按钮激活。我想知道这是否可能……你认为我所有的观点都应该被激活吗e是否连接到一个故事板?