سؤال

I have an ios application using storyboards with a bunch of view controllers.

After Adding a new ViewController, and configured the identify (Storyboard ID) enter image description here

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.

هل كانت مفيدة؟

المحلول

Try remove your app from iPhone Simulator, clean project and build, after run your project.

نصائح أخرى

Try with that :

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

If it works, I think [self storyboard] don't give you the right object ;).

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.

Screenshot of dialogue

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top