在swift中调用其他视图控制器的文本字段(prepareforsegue)

时间:2016-09-14 03:47:00

标签: swift function segue

我阅读了很多这方面的帖子和视频,我读到的是一个函数调用“prepareforsegue”,但我不明白在哪里实现以及我还需要做些什么。我有4个文本字段,我想从另一个后来的控制器调用。非常感谢您的回答。 :)

2 个答案:

答案 0 :(得分:0)

发布代码很有帮助。

prepareForSegue内,使用以下方法获取保存textFields的目标ViewController:

let vc = segue.destinationViewController

然后vc.textField1.text = "Your Text here"&重复其他文本字段。

答案 1 :(得分:0)

您无法在prepareforsegue方法中设置值或访问文本字段或任何其他插座。因为prepareforsegue方法被称为“之前”目标控制器的出口被设置。因此,您需要在目标控制器中创建一个接收文本字段值的变量,然后在目标控制器的viewDidLoad中将其设置为文本字段。

在prepareforsegue方法中:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if let destinationViewController = segue.destinationViewController as? SecondViewController {
        destinationViewController.valueForTextField = "Hi"
    }
}

在目标控制器中(在我的情况下是SecondViewController):

@IBOutlet weak var textField: UITextField!
var valueForTextField: String?
override func viewDidLoad() {
    super.viewDidLoad()
    textField.text = valueForTextField
}