我正在制作新的应用程序。
如果我在一个视图控制器上有一个文本字段而在另一个视图控制器上有一个标签(ViewController类中的两个View控制器),如何在文本字段中键入内容然后将我带到下一个ViewController并显示文本?
答案 0 :(得分:2)
在准备segue的源控制器中,您在目标控制器上设置了一个属性:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let detailViewController = segue.destination as? DetailViewController {
detailViewController.titleText = mylabel.text
}
}
在您的目标控制器的视图中加载了您将此属性指定给标签字段。
var titleText = ""
override func viewDidLoad() {
super.viewDidLoad()
label.text = titleText
}
请注意,您无法直接在prepareForSegue中指定标签,因为在调用ViewDidLoad之前,不保证标签已初始化。这就是价值进入房产的原因。正确的模型视图分离还要求一个控制器不应该写入另一个控制器的视图。