gpt4 book ai didi

ios - 从 2 个 View Controller 传递数据而不使用 segue

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

我有一个 mainviewcontroller 和一个弹出 View Controller ,打开时无需转场。

弹出 View Controller 从 Firebase 接收数据,然后我需要将此数据附加到主视图 Controller 中的数组中。

我怎样才能做到这一点?

(我尝试在 mainviewcontroller 中创建 popupviewcontroller 的属性,但导致应用程序崩溃)

这是打开弹出窗口的代码:

 @IBAction func showPopUp(_ sender: Any) {
let popOverVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "sbPopUp") as! PopUpViewController
self.addChild(popOverVC)
popOverVC.view.frame = self.view.frame
self.view.addSubview(popOverVC.view)
popOverVC.didMove(toParent: self)

最佳答案

您需要连接这些类,以便弹出类知道在收到数据后如何处理数据。这是一个在 Playground 中运行的示例结构,您应该能够将其应用到实际的类中。

class MainClass {

func showPopUp() {
let popOverVC = PopUpClass()
popOverVC.update = addToArray
popOverVC.receivedData()
}

func addToArray() {
print("Adding")
}
}

class PopUpClass {
var update: (()->())?

func receivedData() {
if let updateFunction = update {
updateFunction()
}
}
}

let main = MainClass()
main.showPopUp()

关于ios - 从 2 个 View Controller 传递数据而不使用 segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56795967/

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