我想将数据传递给名为“addParty”的 View Controller 。为了说明这一点,我的应用程序从 A -> B -> C -> D 开始。A 到 C 是接收用户信息的设置页面。这些页面后面跟着 D,它是“addParty”,我希望从 A 到 C 的所有数据都传递到这里。
下面是我迄今为止使用 View Controller A 到 C 所做的示例。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?){
if (segue.identifier == "Setup1Segue") {
var DestViewController: addToParty = segue.destinationViewController as! addToParty
// path the cell's content to your detailViewController
DestViewController.PartyName = etPartyName.text!
DestViewController.Address = etAddress.text!
DestViewController.City = etCity.text!
DestViewController.State = etState.text!
DestViewController.Zip = etZip.text!
}
}
最佳答案
您需要在 ViewController 中覆盖“prepareForSegue”方法。
在您的 FirstViewController.swift 中定义了显示 SecondViewController 的任何操作,并且在此 ViewController (SecondViewControler.swift) 中您需要声明您将接收 FirstViewController.swift 的变量
FirstViewController.swift
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "btnSubmitSencondViewController") {
var svc = segue.destinationViewController as SecondViewController;
svc.dataPassed = fieldA.text
svc.secondDataPassed = fieldB.text
}
}
终于!在我们的第二个 View Controller 类文件 (SecondViewController.swift) 中,我们需要在调用 viewDidLoad 时将变量分配给显示标签。这很简单,只需查找覆盖函数 viewDidLoad() 并输入下面的代码。
labelA.text = dataPassed
labelB.text = secondDataPassed
关于ios - 将 segue 上的数据传递给 View Controller (Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32469019/