2

ストーリーボードを使用して iOS5 でプロジェクトを作成しました。UIViewController をキャンバスにドラッグし、識別子とカスタム クラスを設定しました。このメソッドを使用しようとすると、この行でコードがクラッシュします。私は理解することができません、なぜですか?

[self.storyboard instantiateViewControllerWithIdentifier:@"Contacts"];
4

1 に答える 1

1

ストーリーボード ファイル内のビュー コントローラーを一意に識別する識別子文字列。ストーリーボード ファイルを構成するときに、Interface Builder で特定のビュー コントローラーの識別子を設定します。この識別子は、ビュー コントローラー オブジェクト自体のプロパティではなく、ビュー コントローラーを見つけるためにストーリーボード ファイルによってのみ使用されます。

指定された識別子がストーリーボード ファイルに存在しない (または nil である) 場合、このメソッドは例外を発生させます。

識別子が同じだと確信していますか?

編集:

これを行うための構造は次のようになります

UIViewController *temp = [[self storyboard] instantiateViewControllerWithIdentifier:@"ImagePickerViewController"];

[self presentModalViewController:temp animated:YES];

そして、ストーリーボード上のそのビューコントローラーの場合、属性インスペクター -> ビューコントローラー -> 識別子 -> "ImagePickerViewController" を表示します。

于 2012-06-06T07:45:17.350 に答える