问题
I have an ios application using storyboards with a bunch of view controllers.
After Adding a new ViewController, and configured the identify (Storyboard ID)

I try to instantiate the new ViewController with the following code:
SurveyNewViewController *newSurvey = [[self storyboard] instantiateViewControllerWithIdentifier:@"newSurveyView"];
[self presentViewController:newSurvey animated:YES completion:nil];
Everything seems to be right, but when running the application on the simulator it crashes:
** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:
'Storyboard (<UIStoryboard: 0xa340fa0>) doesn't contain a view controller
with identifier 'newSurveyView''
Is there any possible explanation for this? I have used this same approach in different places on the system and it works well.
回答1:
Try remove your app from iPhone Simulator, clean project and build, after run your project.
回答2:
Try with that :
[[UIStoryboard storyboardWithName:@"StoryboardNameOfnewSurveyView" bundle:nil] instantiateViewControllerWithIdentifier:@"newSurveyView"];
If it works, I think [self storyboard] don't give you the right object ;).
回答3:
Set Storyboard ID
as this is use in Xcode 8.0 and check the Use Storyboard ID
option. Also check the Class field is set in Storyboard
to that ViewController
.
来源:https://stackoverflow.com/questions/19007882/uistoryboard-couldnt-find-view-controller-with-identifier