1

单击按钮时,我正在尝试从 XIB 文件加载情节提要文件。因此,在该IBAction方法中,我调用了以下行:

- (IBAction)NextView:(id)sender
{
            UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    [mainStoryBoard instantiateViewControllerWithIdentifier:@"StoryViewController"];
}

但是当我运行应用程序时出现此错误 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Storyboard (<UIStoryboard: 0x88672d0>) doesn't contain a view controller with identifier 'StoryViewController''

我查看了人们在 stackverflow 上提出的其他问题,发现通常会在忘记将视图控制器的标识符名称放入试图加载的视图控制器的身份检查器中时引发此错误。但我也这样做了。在情节提要中,正在加载的第一个 viewController 是StoryViewController并且我已将其标识符设置为相同。还有什么我可能会丢失的东西。请告诉我如何纠正它。 在此处输入图像描述

4

1 回答 1

6

您只设置视图控制器的类名。我可以看到故事板 ID 归档为空。在Identity部分将Storyboard ID设置 为StoryViewController

在此处输入图像描述

- (IBAction)NextView:(id)sender
{
    UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    StoryViewController *storyViewController = [mainStoryBoard instantiateViewControllerWithIdentifier:@"StoryViewController"]; 
    [self presentViewController:storyViewController animated:YES completion:nil]; //  present it  
     //[self.navigationController pushViewController:storyViewController animated:YES];// or push it

 }
于 2013-05-23T12:09:52.140 回答