yeker3
yeker3

Reputation: 141

Xcode4: How to create a menu for a game?

I have a game with 4 game modes. the problem is that I want to create a main menu to choose a mode, because instead of that menu there is a TabBar. I'm trying to do that putting each mode in different .xib files, and create an other .xib file for the menu.

Menu.m:

-(IBAction)PlayMode1:(id)sender{
ViewController *Mode1 = [[ViewController alloc] init];
[self presentModalViewController:Mode1 animated:YES];
[Mode1 release];
}

with this I'm getting this error: Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '- [UIViewController _loadViewFromNibNamed:bundle:] loaded the "ViewController" nib but the view outlet was not set.'

I checked that "view" is linked to "View" on IB so I don't know what to do...

I'm not an advanced developer, thanks for helping!

xib hierarchy

Upvotes: 0

Views: 108

Answers (1)

Phillip
Phillip

Reputation: 4306

You should try to do the following:

-(IBAction)PlayMode1:(id)sender{

    ViewController *Mode1 = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
    [self presentModalViewController:Mode1 animated:YES];
    [Mode1 release];
}

Seems like you forget to put initWithNibName inside the allocation of the view.

Also, make sure that your ViewController.xib is the correct name of the view controller and check if it has the correct outlets linked.

Check View Identity > Class Identity is set too. If not, type in the name of your controller, ViewController


EDIT

Remove everything in the xib, "Window" and "ViewController".

Drag an UIView on the left column and set its outlet.

Click on File's Owner and then, on the Inspector, Identity inspector section (third one from the left), type in the class of your view, `ViewController´.

Upvotes: 1

Related Questions