【发布时间】:2018-08-15 04:22:41
【问题描述】:
我想通过从我的容器视图控制器输入文本来更新最右边控制器中的标签(然后单击按钮提交文本),但标签没有得到更新。我不确定我的代码的哪一部分是错误的。而且,有没有什么好的解决方案可以在容器与其父容器之间共享数据?谢谢。
代码如下:
import UIKit
class ChildViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBOutlet weak var TextField: UITextField!
@IBAction func PassItToUpdate(_ sender: UIButton) {
let parentController = self.parent as! MainViewController
parentController.performSegue(withIdentifier: "PassToUpdate", sender: parentController)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "PassToUpdate" {
let vc = segue.destination as! UpdateViewController
vc.UpdateTextLabel.text = TextField.text
}
}
}
import UIKit
class MainViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
}
import UIKit
class UpdateViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBOutlet weak var UpdateTextLabel: UILabel!
}
【问题讨论】:
-
我猜你可以不访问父视图控制器直接通过
-
Muhammed Azharudheen Thx,我必须这样实现,因为我需要稍后捕获容器视图的快照。
标签: swift segue pass-data container-view