0

こんにちは、初心者です。

新しい xib ファイルを作成しました。今、以下のコードのように呼び出そうとしていますが、うまくいきません。

これは私がファイルの所有者で行ったことです:

ここに画像の説明を入力

UIViewController *controller;
controller = [[UIViewController alloc]initWithNibName:@"UserFeedback" bundle:nil];
[self.view addSubview:controller.view];

私が得ているエラーは次のとおりです。

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "UserFeedback" nib but the view outlet was not set.'
4

4 に答える 4

1

"controller.h" と "controller.m" UIViewController を作成したことを願っています。

次に、クラス「コントローラー」を「UserFeedback」.xib ファイルに指定します。

そして、ビュー オブジェクトを "UserFeedback" .xib ファイルにバインドします。

これを試して、私に知らせてください。

ほとんどあなたは成功するでしょう。

乾杯!

于 2013-02-13T06:22:41.380 に答える
0

使用できるテクニックは次のとおりです。

UIViewController *コントローラー; controller = [[UIViewController alloc]initWithNibName:@"UserFeedback" bundle:nil]; [self.view addSubview:controller.view];

上記のコードは正しいですが、最初にコントローラービューがバインドされているかどうかを確認してください..エラーは、コントローラービューがバインドされていないことだと思います

于 2013-02-13T06:25:29.483 に答える
0

次の図は理解に役立ちます

ここに画像の説明を入力.

あなたのコードからわかるように

 ATMoviePlayerController *controller;
 controller = [[ATMoviePlayerController alloc]initWithNibName:@"UserFeedback" bundle:nil];
 [self.view addSubview:controller.view];
于 2013-02-13T06:27:29.393 に答える