1

コードを使用して新しいビューをロードしました

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

これは新しいビューに完全に読み込まれます。ただし、新しいビューのボタンをクラスに接続して、press イベントを使用して何かを実行できるようにしました。ただし、メソッドはまだ次のとおりです。

- (IBAction)donePress:(id)sender {}

アプリはまだクラッシュします。main.m のメイン メソッドで EXC_BAD_ACCESS エラーが発生します。

これを引き起こしている可能性のあるアイデアはありますか?リクエストに応じて、より多くの情報を提供できます。

ありがとう。

編集:これは、メソッドに接続されているすべてのコントロールで発生します。

4

2 に答える 2

5

コントローラーはどこにも保持されていないため、クラッシュにつながるため、解放されています。コントローラーのビューのみが保持されます。

のようにコントローラーを保持する

//declaring newController as (strong) in .h file and use
self.newController = [[UIViewController alloc] initWithNibName:@"NFCController" bundle:nil];

[self.view addSubview:self.newController.view];

これで、コントローラーも保持されます。あなたのコードは問題なく動作します。

于 2012-06-08T10:19:57.033 に答える
2

nibファイルの正しい名前を入力しているかどうか、およびnibファイルがコントローラークラスに応答するかどうかを試してください。

于 2012-06-08T10:32:28.553 に答える