如何使用视图控制器传回信息

时间:2016-04-12 07:04:11

标签: ios swift uitableview uiviewcontroller uistoryboard

我有一个视图控制器和一个表View Controller。我从VC One转到VCTable。在VCTable上,我从存储在value中的类型字符串中选择一个(单元格)数据。当我按下一个单元格时,我想将该数据发送回VC One。 并按钮或标签显示。

如何使用Storyboard执行此操作?

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

第一个解决方案:使用CallBack

在你的VCOne:

@IBAction func goToViewController2(sender: AnyObject) {
        let vc2 = storyboard?.instantiateViewControllerWithIdentifier("ViewController2") as! ViewController2
        vc2.callback = ({ string in
            self.myString = string
        })
        presentViewController(vc2, animated: true, completion: nil)
    }

在你的VCTable中:

创建一个回调变量:

var callback: ((String) -> Void)?

在您的didSelectRowAtIndexPath方法中,通过以下方式将其发送到VCOne:

callback?(textField.text!)

第二个解决方案:使用参考

@IBAction func goToViewController2(sender: AnyObject) {
        let vc2 = storyboard?.instantiateViewControllerWithIdentifier("ViewController2") as! ViewController2
        vc2.vc1 = self
        presentViewController(vc2, animated: true, completion: nil)
    }

在你的VCTable中:

创建此变量:

var vc1: ViewController?

在您的didSelectRowAtIndexPath方法中,通过以下方式将其发送到VCOne:

vc1?.myString = textField.text!

第三个解决方案:使用代理,请参阅@Andre Slotta所说的链接。

FourthSolution:使用CenterNotification Google搜索:)。

希望这有帮助:)