2

最近、アプリが次のViewControllerに切り替わると、アプリがクラッシュします。

これはprepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

    ShowInfoViewController *secondViewController = (ShowInfoViewController *)segue.destinationViewController;

これは私がメソッドを呼び出す方法です:

        [self performSegueWithIdentifier:@"infoseg" sender:self];

Interface Builderには、同じ識別子を持つセグエもあります。

何か案が?

これはログの印刷です:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<ViewController: 0x1dda97d0>) has no segue with identifier 'infoseg''

***最初に投げコールスタック:(0x322982a3 0x31a6a97f 0x34fdbca9 0x1972f 0x1a7fb 0x57d73 0x56ff3 0x5a2f3 0x372c2ef5 0x372029f1 0x3720290d 0x355115df 0x35510ccb 0x35539133 0x35539593 0x321de74d 0x3549d15d 0x3226d683 0x3226cee9 0x3226bcb7 0x321deebd 0x321ded49 0x32f472eb 0x34e24301 0x17427 0x173c8)のlibc ++ abi.dylib:と呼ばれる終了し、例外を投げます

4

3 に答える 3

2

宛先のビューコントローラがナビゲーションコントローラ内にある場合は、次の質問を確認することをお勧めします:ストーリーボードを使用してデリゲートを設定する方法

編集:エラーから、実行しようとしているセグエが、開始しているビューコントローラーに接続されていないように見えます。シーケンスを削除して、コードが含まれているViewControllerからInterfaceBuilder内のShowInfoViewControllerにドラッグしてみてください。

于 2012-10-21T15:08:44.827 に答える
1

同様の問題がありました。ストーリーボードのセグエ識別子に末尾のスペースがあることがわかりました。

例えば。'SequeIdentifier'-もちろん、これはXCodeではかなりわかりにくいです。

于 2014-07-05T14:42:49.510 に答える
1

同じ問題がありました。AppDelegate.mとストーリーボードでもルートコントローラーを設定していることに気づきました。AppDelegate.mのコードを削除し、修正しました。

于 2015-03-05T21:29:16.633 に答える