0

他のモーダル ビュー コントローラーを表示する開始ビュー コントローラーを持つストーリーボードがあります。

ビュー コントローラー A が開始ビュー コントローラーであり、ビュー コントローラー B がモーダルに表示されるビュー コントローラーであるとします。

ViewController Aから(ViewController Bにあるボタンからだけでなく)、BからAへのアンワインドセグエをトリガーするにはどうすればよいですか?

ボタンは unwind segue を実行するために機能しますが、プログラムで実行しようとすると

[self performSegueWithIdentifier:@"ReturnToStart" sender:self]

エラーが発生します:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<StartViewController: 0x1ed4b9b0>) has no segue with identifier 'ReturnToStart''

私が理解していないのは、モーダルView Controllerのボタンを押すとアンワインドセグエが正常に機能することですが、別のViewControllerからトリガーしようとするとセグエが見つからないということです(識別子はストーリーボードで正しいです)。

startingViewController からすべてのセグエにアクセスする方法はありますか、それとも構造が根本的に間違っていますか?

4

1 に答える 1

2

セグエは source に「属している」ため、View Controllerそのエラー メッセージが表示されます。セグエは、ソース ビュー コントローラーから呼び出されることを意図しています。

A から viewControllerB を却下する場合は、セグエを使用せず、次のように使用します。

dismissViewControllerAnimated:completion:
于 2013-05-06T19:45:30.330 に答える