storyboard doesnt contain a view controller with identifier

storyboard doesnt contain a view controller with identifier  using -'ios,objective-c,xcode,storyboard'

I keep getting the following error:

Storyboard (<UIStoryboard: 0x7ebdd20>) doesn't contain a view controller
with identifier 'drivingDetails'

This is the code:

- (void)tableView:(UITableView *)tableView
        didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

   UIViewController *controller =  [self.storyboard instantiateViewControllerWithIdentifier:@"drivingDetails"];
   controller.title = [[dao libraryItemAtIndex:indexPath.row] valueForKey:@"name"];
   [self.navigationController pushViewController:controller animated:YES];

I have already set the identifier on the UIStoryboard but I'm still getting this error.


asked Oct 13, 2015 by sujata naik
0 votes

6 Answers

0 votes

Just for future reference:

I'm developing on iOS 6 using Storyboards.

I was having the same issue, but I could not find the "Identifier" field in the inspector. Instead, just set the field named "Storyboard ID" to what you would name the Identifier. This field can be found under the "Show the Identity inspector" tab in the inspector.

[Note - comments below indicate that some people have found that they need to (also?) set the field "Restoration ID" just below the Storyboard ID in the inspector. Clicking on "Use Storyboard ID" does not seem to be enough.]

There's an image below for reference: (in this instance I've named my identifier the same as my class) enter image description here

answered Oct 13, 2015 by bhavin
0 votes

Fixed! Not only the identifier in the segue must be set, in my case DrivingDetails, but also the identifier in my tableViewController must be set as DrivingDetails...check my picture:

enter image description here

I also removed the navigation view controller so now the 2 table view controllers are connected directly with a "push" animation.

answered Oct 13, 2015 by sachin wagh
0 votes

Just had this issue after adding a new VC to the storyboard but only on the device, not on the simulator. Turns out it was due to having multiple storyboard localizations - the VC was only added to the primary one. I tried removing the other localizations (one of which is the one my iPhone uses) but still had the error. In the end I had to recreate the other localizations with the new VC in each of them.

answered Oct 13, 2015 by badhwar.rohit
0 votes

I found it ... click on the view controller in storyboard, click the third icon from left on the vc attributes inspectors - the one where you set the call name on that scereen it says 'identity' - mine was hidden , i had to click on the word identity it then shows storyboardID - add the identifier from the code, done

answered Oct 13, 2015 by yashwantpinge
0 votes

I got same error and I could fix this by changing the following changes in my project. I have mentioned my class name in the inspector panel then the problem is solved. Goto->right panel there Identity Inspector In the custom class section

class:your class name(ViewController)

In the Identity section storyboard ID:your storyboard ID(viewController Name)

After this click on Use storyboard ID option over there.That's it the problem is finished. I hope it will help you....

answered Oct 13, 2015 by rajnipancholi
0 votes

Modifying "Storyboard ID" in the identity inspector (the 3rd icon to the left) should work.

If not and you're sure there's no typo, try cleaning up the project ("Product"->"Clean", or simply command + shift + K).

answered Oct 13, 2015 by sachin wagh