0

私は4つのゲームモードを持つゲームを持っています。問題は、モードを選択するためのメイン メニューを作成したいということです。そのメニューの代わりに TabBar があるからです。各モードを異なる .xib ファイルに入れ、メニュー用に別の .xib ファイルを作成しようとしています。

メニュー.m:

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

これで、このエラーが発生します: キャッチされていない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。

「ビュー」がIBの「ビュー」にリンクされていることを確認したので、どうすればよいかわかりません...

私は上級開発者ではありません。助けてくれてありがとう!

xib 階層

4

1 に答える 1

1

次のことを試してみてください。

-(IBAction)PlayMode1:(id)sender{

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

initWithNibNameビューの割り当ての中に入れるのを忘れているようです。

また、ViewController.xib がビュー コントローラーの正しい名前であることを確認し、正しいアウトレットがリンクされているかどうかを確認します。

View Identity > Class Identity も設定されていることを確認します。そうでない場合は、コントローラーの名前を入力してください。ViewController


編集

xib、「Window」、および「ViewController」のすべてを削除します。

左の列に UIView をドラッグし、そのアウトレットを設定します。

File's Owner をクリックし、Inspector の Identity inspector セクション (左から 3 番目) で、ビューのクラス「ViewController」を入力します。

于 2012-09-04T19:10:01.263 に答える