放松继续不被触发

我有一个故事板,有一个起始视图控制器,呈现其他模式视图控制器。

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

我怎样才能从B的ViewController A(不只是从一个位于ViewController B上的button)触发从B回退到A?

该button的工作来执行unwind segue,但是当我尝试以编程方式使用它时

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

发生错误:

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

我不明白的是,当我按下模式视图控制器上的一个button时,unwind segue工作正常,但是当我尝试从另一个ViewController触发它时找不到segue(标识符在故事板中是正确的)。

有没有办法从我的startingViewController访问所有的segues或是我的结构从根本上错误?

segue“属于”源View Controller ,所以这就是为什么你得到这个错误信息。 Segmentation旨在从源视图控制器中调用。

如果你想closuresA的viewControllerB,不要使用segue,只需使用:

 dismissViewControllerAnimated:completion: