我有一个视图控制器和一个表View Controller。我从VC One转到VCTable。在VCTable上,我从存储在value中的类型字符串中选择一个(单元格)数据。当我按下一个单元格时,我想将该数据发送回VC One。 并按钮或标签显示。
如何使用Storyboard执行此操作?
答案 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搜索:)。
希望这有帮助:)