MEn*_*bah 1 ios uicontainerview swift
我有1个UIViewController,它包含一个UIContainerView和一个UIButton.另外,我有一个UITableViewController(它有一个UITextField和一个UITextView)嵌入在UIViewController的UIContainerView中.
我正在尝试获取TextField和TextView中可用的字符串值.
我尝试使用segue获取属性值,但我没有这样做,请参阅下面的代码.
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "TVCSegue" {
let containerTVC = segue.destination as? FieldsTVC
self.textField.text = FieldsTVC?.textField?.text
self.textView.text = FieldsTVC?.textView?.text
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码将'textField'和'textView'作为UIViewController中的属性来分配值.
但我相信它不起作用,因为我在它们改变之前得到了它们.请为我提供一种功能性的方法.
加载主视图时,容器会对其指定的初始/根ViewController执行segue.此时,您可以获得对它的引用:
var theFieldsTVC: FieldsTVC?
Run Code Online (Sandbox Code Playgroud)
现在,在准备segue时,分配该变量:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "TVCSegue" {
if let vc = segue.destination as? FieldsTVC {
theFieldsTVC = vc
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以:
@IBAction func buttonTapped(_ sender: Any) {
self.textField.text = theFieldsTVC?.textField?.text
self.textView.text = theFieldsTVC?.textView?.text
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1027 次 |
| 最近记录: |