ストーリーボードを使用して iOS5 でプロジェクトを作成しました。UIViewController をキャンバスにドラッグし、識別子とカスタム クラスを設定しました。このメソッドを使用しようとすると、この行でコードがクラッシュします。私は理解することができません、なぜですか?
[self.storyboard instantiateViewControllerWithIdentifier:@"Contacts"];
ストーリーボードを使用して iOS5 でプロジェクトを作成しました。UIViewController をキャンバスにドラッグし、識別子とカスタム クラスを設定しました。このメソッドを使用しようとすると、この行でコードがクラッシュします。私は理解することができません、なぜですか?
[self.storyboard instantiateViewControllerWithIdentifier:@"Contacts"];
ストーリーボード ファイル内のビュー コントローラーを一意に識別する識別子文字列。ストーリーボード ファイルを構成するときに、Interface Builder で特定のビュー コントローラーの識別子を設定します。この識別子は、ビュー コントローラー オブジェクト自体のプロパティではなく、ビュー コントローラーを見つけるためにストーリーボード ファイルによってのみ使用されます。
指定された識別子がストーリーボード ファイルに存在しない (または nil である) 場合、このメソッドは例外を発生させます。
識別子が同じだと確信していますか?
編集:
これを行うための構造は次のようになります
UIViewController *temp = [[self storyboard] instantiateViewControllerWithIdentifier:@"ImagePickerViewController"];
[self presentModalViewController:temp animated:YES];
そして、ストーリーボード上のそのビューコントローラーの場合、属性インスペクター -> ビューコントローラー -> 識別子 -> "ImagePickerViewController" を表示します。