Unwind segue没有被触发



我有一个storyboard,它有一个起始视图控制器来呈现其他模态视图控制器。

假设视图控制器A是startingViewController,视图控制器B是模态呈现的视图控制器。

我怎么能触发unwind segue从B回到A,从ViewController A(不只是从一个按钮位于ViewController B)?

按钮可以执行unwind segue,但当我尝试用

编程执行它时
[self performSegueWithIdentifier:@"ReturnToStart" sender:self]

出现错误:

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

我不明白的是,unwind segue工作得很好,当我按下模态视图控制器上的按钮,但segue只是找不到,当我试图从另一个ViewController触发它(标识符是正确的在故事板)。

是否有任何方法访问所有segue从我的startingViewController或我的结构根本错误?

segue "属于"源View Controller,这就是你得到错误消息的原因。segue是用来从源视图控制器调用的。

如果你想从A中解散viewControllerB,不要用segue,只用:

dismissViewControllerAnimated:completion:

最新更新