gpt4 book ai didi

swift - 为什么我不能在将数据写入 Firebase 数据库时执行 segue?

转载 作者:行者123 更新时间:2023-11-28 13:54:14 25 4
gpt4 key购买 nike

我正在尝试执行从一个 View Controller 到另一个 View Controller 的 segue,以便我可以传递数据。我将文本从文本字段传递到标签。此外,我正在尝试将该文本字段中的数据写入我的 Firebase 数据库。它不允许我在执行 segue 的同时写入数据。为什么会这样,我怎样才能同时进行这两项操作?

我已经在两个具有标识符“nextTransition”的 View Controller 之间创建了一个show segue。当我在添加数据库代码之前按下按钮时,segue 工作。一旦我添加了写入数据库的代码,我就遇到了无法写入的问题。它尝试使用 func 执行 segue,但它没有改变任何东西。

@IBAction func nextButton(_ sender: Any) {
ref?.child("Title").childByAutoId().setValue("titleTextField.text")

performNextTransitionSegue()

下面是我为 show segue“nextTransition”创建的函数。

func performNextTransitionSegue() {
if titleTextField.text != "" {
performSegue(withIdentifier: "nextTransition", sender: self)
}
}

我原以为它会在 Firebase 数据库中创建显示 titleTextField.text,但它什么也没做。

最佳答案

写入 firebase 是一个异步函数。当您转到一个新的 VC 时,它会在完成写入之前关闭与 firebase 的连接。在 setValue 方法的完成处理程序中转到您的新 VC。

ref?.child("Title").childByAutoId().setValue(`YourValue`) { (error, ref) in
if error == nil {
self.performNextTransitionSegue()
} else {
print("error")
}
}

关于swift - 为什么我不能在将数据写入 Firebase 数据库时执行 segue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54100555/

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