我正在尝试在单击按钮时从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上提出的其他问题,发现当人们忘记将View控制器的标识符名称放在身份检查器中时,一旦尝试加载视图控制器,就会抛出此错误。但我也这样做了。
在故事板中,第一个加载的viewController是StoryViewController
,我将其标识符设置为相同。还有其他我可能会遗失的东西。请告诉我如何纠正它。
答案 0 :(得分:6)
您只是设置视图控制器的类名。我可以看到故事板ID被归为空。在 身份 部分
中将故事板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
}