gpt4 book ai didi

ios - 将数据从父 Controller 传递到 Swift 中的弹出 Controller

转载 作者:行者123 更新时间:2023-11-28 16:05:51 25 4
gpt4 key购买 nike

我想在 Swift 中创建一个弹出 Controller ,但我无法将数据从父 Controller 传递到弹出(在弹出中设置标签文本)

代码:

let popUpPreload = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "popUpOneID") as! PopUpViewController
popUpPreload.delegate = self
popUpPreload.lbTitlePopUp.text = "title"
popUpPreload.tvIntructions.text = "intructions"
self.addChildViewController(popUpPreload)
popUpPreload.view.frame = self.view.frame
self.view.addSubview(popUpPreload.view)
popUpPreload.didMove(toParentViewController: self)

设置标签弹出文本错误。

我引用 link

最佳答案

您不能从 Storyboard实例化任何 ViewController,然后立即尝试在其 socket 上设置属性。在调用 ViewDidLoad 之前它们都是零。当您调用实例化 View Controller 时,它会加载 XML,创建 ViewController 及其所有 subview ,然后使用键值观察将所有导出设置为其创建的 View 。完成此过程后,它会调用 ViewDidLoad。

您需要写入目标 View Controller 上的常规变量。

    let popUpPreload = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "popUpOneID") as! PopUpViewController
popUpPreload.delegate = self
popUpPreload.titleText = "title"

然后在 ViewController 的 ViewdidLoad 函数中,您将导出属性(例如 label.text)分配给您的变量。

    var titleText = ""
override func viewDidLoad() {
super.viewDidLoad()
label.text = titleText
}

关于ios - 将数据从父 Controller 传递到 Swift 中的弹出 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40297717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com