2016-05-03 11 views
1

私はUINavigationControllerを使用していますが、クラスのオブジェクトをクラスのロードだけで作成し、コンポーネントを作成することはしません。 アクションボタンのコードがalloc initはコンポーネントをロードしません

NextView *next = [[NextView alloc] init]; 
[self.navigationController pushViewController:next animated:YES ]; 

それは次のUIViewControllerになりますが、何の内部コンポーネントは、このようなとしてロードされていない場合は、この私のAppDelegate.m

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
ViewController *vc = [sb instantiateInitialViewController]; 
UINavigationController *nav = [[UINavigationController alloc] init]; 
self.window.rootViewController = nav; 
nav.viewControllers = @[vc]; 

UIViewController私の最初である - などのボタン、テキストフィールド、。

と私はこのコードをしようとした場合、それは私に、ランタイムエラーを与える

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
NextView *next = [sb instantiateViewControllerWithIdentifier:@"two"]; 
[self.navigationController pushViewController:next animated:YES ]; 
+0

あなたはストーリーボードに識別子を指定しましたか? –

+0

どのような種類のランタイムエラーがありますか?質問にログを貼り付けてください。 – kelin

+0

あなたはどのランタイムエラーが発生しますか? – riddhi

答えて

0

作るNextViewUIViewControllerを継承し、そのビューコントローラにtwoなどの識別子を与えている、あなたはそれにアイデンティティインスペクタからクラスNextViewを設定していることを確認してくださいビューコントローラ。これはあなたがコンセント(ボタンなど)のUIViewControllerのサブクラスでallocinitにロードすることができませんでした:)

+0

私はこれらすべてのことを行っています – sahib

0

を助ける

ホープ。 -initWithNibName:bundle:メソッドを使用してxibファイルで初期化する必要があります。ストーリーボードでインスタンス化することもできます。

// You can get current storyboard from the View Controller 
UIStoryboard *sb = vc.storyboard; 
NextView *next = [sb instantiateViewControllerWithIdentifier:@"two"]; 
[self.navigationController pushViewController:next animated:YES]; 
+0

しかし、この方法は私に実行時にエラーを与えます – sahib

+0

@sahib、どのようなエラーがこのメソッドを与えるか教えてください? – kelin

関連する問題