instantiateViewControllerWithIdentifier in xcode 5

2019-01-29 02:59发布

I'm working on a storyboard in xcode 5. I have a navigation controller, and am trying to establish the transitions to other scenes in my storyboard. I first tried using:

- (IBAction)handleTap:(UITapGestureRecognizer *)sender {
NSLog(@"Image clicked");

_detailPage = [[MPDetailPageViewController alloc] initWithNibName:@"MPDetailPageViewController" bundle:nil];
_detailPage.product = _curProduct;

//Bring to detail page
[self.navigationController pushViewController:self.detailPage animated:YES];
}

This would bring me to a black screen. Searching on stackoverflow I found this post from Feb 2013 which suggested using instantiateViewControllerWithIdentifier

So I tried:

- (IBAction)handleTap:(UITapGestureRecognizer *)sender {
NSLog(@"Image clicked");

_detailPage = [self.storyboard instantiateViewControllerWithIdentifier:@"MPDetailPageViewController"];
_detailPage.product = _curProduct;

//Bring to detail page
[self.navigationController pushViewController:self.detailPage animated:YES];
}

However, this gave me an error

Storyboard () doesn't contain a view controller with identifier 'MPDetailPageViewController'

I tried figuring out how to find/ set the identifier and saw posts referencing Storyboard ID, but when I look on my screen I only see Restoration ID and I can only see that when I click on the View and not the ViewController itself. When I click on the ViewController, I don't see Restoration ID nor Storyboard ID

Any help would be greatly appreciated!

1条回答
闹够了就滚
2楼-- · 2019-01-29 04:03

The Storyboard ID property can be found in the Identity Inspector of the View Controller:

  1. Open up your storyboard.
  2. Click on the black bar underneath the view you've designed to display your details.
  3. Make sure you have the Identity Inspector open on the right. It's the third icon at the top when you have the Utilities pane open.
  4. The second section in the Identity Inspector is labeled "Identity". The first property listed is Storyboard ID. You can set the value of it to "MPDetailPageViewController".

EDIT: Added screen shot: enter image description here

查看更多
登录 后发表回答