Objective c 分段放回到最后一个特定的视图控制器

Objective c 分段放回到最后一个特定的视图控制器,objective-c,xcode,uiviewcontroller,storyboard,segue,Objective C,Xcode,Uiviewcontroller,Storyboard,Segue,有没有办法将一个按钮放回特定的视图控制器?例如,假设我有ViewController A和B。两者都从模式上切换到ViewController C。现在我知道如何切换到前面的一个视图控制器(),但如何返回到呈现VC C的特定视图控制器 总之,我想弄明白的是。。。 如果A转到C,那么我想在选择按钮时将其放回到A。如果B切换到C,则我希望在选择按钮时将其放回到B。您应该使用标准方式从模式切换返回。把这个放在你的“后退”按钮上 [[self presentingViewController] dism

有没有办法将一个按钮放回特定的视图控制器?例如,假设我有ViewController A和B。两者都从模式上切换到ViewController C。现在我知道如何切换到前面的一个视图控制器(),但如何返回到呈现VC C的特定视图控制器

总之,我想弄明白的是。。。
如果A转到C,那么我想在选择按钮时将其放回到A。如果B切换到C,则我希望在选择按钮时将其放回到B。

您应该使用标准方式从模式切换返回。把这个放在你的“后退”按钮上

[[self presentingViewController] dismissViewControllerAnimated:YES];

这不使用故事板或序列号进行返回,只使用代码。

您可以使用presentingViewController“title”属性将展开过程引导到所需的原始ViewController。此解决方案还允许您将数据从ViewController C传递到ViewController A和B

1) 选择ViewController A故事板画布顶部的View Controller按钮(黄色按钮)

2) 在属性检查器(视图控制器部分)中,为视图控制器提供一个标题

3) 在ViewController A中包括以下代码:

@IBAction func returned(segue: UIStoryboardSegue) {
   // Don't need any code here 
}
4) 对ViewController B重复步骤1、2和3

5) 在ViewController C中重写prepareForSegue函数,如下所示:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {   
    if self.presentingViewController!.title! == "ViewControllerATitle" {
        let destination = segue.destinationViewController as! ViewControllerA
        destination.someFunction(someArgument)
    } 
    else if self.presentingViewController!.title! == "ViewControllerBTitle" {
        let destination = segue.destinationViewController as! ViewControllerB
        destination.someFunction(someArgument)
    }
}

或者使用Swift:
self.presentingViewController!。dismissViewControllerAnimated(真,完成:无)