背景:我有两个VC,A和B. VC A包含几个按钮和几个标签.当按下VC A中的按钮时,segue将显示VC B/C /等等.现在,当完成VC A/B/C时,segue正在展开,以便出现VC A. 对于大多数VC B/C/D等,我使用unwind方法,我通过该VC中的按钮触发(ctrl +拖动到"退出"图标).这很有效,因为在返回VC A时,会自动调用以下操作:
- (IBAction)returned:(UIStoryboardSegue *)segue {
// Here I do some stuff
}
Run Code Online (Sandbox Code Playgroud)
问题:现在,在其中一个辅助VC(例如D)中,事情有点特殊.在这个VC中,我以编程方式通过循环生成几百个按钮,然后检测正在按下哪个按钮,最后展开回VC A(没有特定按钮;任何按钮都会触发展开).我知道我可以这样做,例如使用它
[self dismissViewControllerAnimated: YES completion: nil]
Run Code Online (Sandbox Code Playgroud)
但是当返回VC A或使用此操作时,这不会触发上述操作
[self performSegueWithIdentifier:@"UnwindSegueIdentifier" sender:self]
Run Code Online (Sandbox Code Playgroud)
但是这将生成VC A的新实例,我不想要(因为VC A实例中的标签已经包含一些信息).
所以,我想要的是能够返回生成VC D的VC A的同一个实例,并触发上面列出的"返回"操作.因此,我希望获得与使用连接到"exit"图标的按钮时相同的效果,但是当按下VC D中的许多按钮时,我想以编程方式"在代码内"执行此操作.
有什么想法吗?