例外:認識されないセレクター… Navigation StackにView Controllerをプッシュしようとしたとき
-
22-07-2019 - |
質問
buttonPressedメソッドで次のコードを使用して、ナビゲーションスタックでView Controllerをプッシュしようとしています
-(IBAction) viewButtonPressed:(id)sender {
PersonDetailViewController *personDetailViewController = [[PersonDetailViewController alloc] initWithNibName:@"PersonDetailViewController" bundle:nil];
[self.navigationController pushViewController:personDetailViewController animated:YES];
[personDetailViewController release];
}
デバッガーを実行し、上記のコードからフォローイン行がステップオーバーされた後に例外をスローします。
[self.navigationController pushViewController:personDetailViewController animated:YES];
これはかなり標準的な呼び出しです...これまで何の問題もなく機能していました。ここに何が欠けていますか? この時点で行き詰まっており、それ以上ドリルダウンできません。
デバッガーを実行した後のコンソール上のエラーメッセージは次のとおりです
2009-10-30 18:15:11.127 Untitled [6089:20b] *-[NSCFString image]:インスタンス0x3050に送信された認識されないセレクター
2009-10-30 18:15:11.129 Untitled [6089:20b] * キャッチされない例外 'NSInvalidArgumentException'によるアプリの終了、理由: '***-[NSCFString image]:インスタンス0x3050に送信された認識されないセレクター
2009-10-30 18:15:11.130無題[6089:20b]スタック:(
807902715、
2460638779 ...
解決
問題は、戻るボタンの項目を誤って設定していたinitメソッドの1つにありました。
他のヒント
ビューライフサイクルメソッド- viewWillAppear
、 viewDidAppear
など-メソッドの呼び出し用の PersonDetailViewController
クラス内を調べることから始めます。オブジェクトインスタンスの image
という名前。
これらのメソッドをステップ実行して、この呼び出しが行われる場所を絞り込むこともできます。