UIStoryboard无法找到带标识符的视图控制器

时间:2013-09-25 14:36:51

标签: ios uistoryboard xcode-storyboard

我有一个使用带有一堆视图控制器的故事板的ios应用程序。

添加新的ViewController后,配置了识别(故事板ID) enter image description here

我尝试使用以下代码实例化新的ViewController:

SurveyNewViewController *newSurvey = [[self storyboard] instantiateViewControllerWithIdentifier:@"newSurveyView"];
[self presentViewController:newSurvey animated:YES completion:nil];

一切似乎都是正确的,但是当在模拟器上运行应用程序时它会崩溃:

** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:   
'Storyboard (<UIStoryboard: 0xa340fa0>) doesn't contain a view controller 
with identifier 'newSurveyView''

这有什么可能的解释吗?我在系统的不同位置使用了相同的方法,效果很好。

3 个答案:

答案 0 :(得分:39)

在运行项目后,尝试从iPhone模拟器中删除您的应用,清理项目并构建。

答案 1 :(得分:4)

尝试:

[[UIStoryboard storyboardWithName:@"StoryboardNameOfnewSurveyView" bundle:nil] instantiateViewControllerWithIdentifier:@"newSurveyView"];

如果有效,我认为[自我故事板]不会给你正确的对象;)。

答案 2 :(得分:0)

设置Storyboard ID,因为这在Xcode 8.0中使用,并检查Use Storyboard ID选项。另外,请检查Storyboard中的ViewController类别字段。

Screenshot of dialogue