放松继续不被触发
我有一个故事板,有一个起始视图控制器,呈现其他模式视图控制器。
说视图控制器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: