gpt4 book ai didi

swift - 无法从 Firebase 获取值(value)

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

当我尝试从我的数据库中获取 isBusy 属性的值时遇到问题。 A 使用断点,它甚至不转到我为 isBusy 赋值的指令,它分配空字符串并转到其他条件。

if docChild == 0 {
let selectedDoctor = Doctors.doc1
var isBusy = String()

databaseHandle = reference.child(selectedDoctor).child(dateChild).child(timeChild).child(ReservationFields.isBusy).observe(.childAdded, with: { (snapshot) in
isBusy = snapshot.value as! String
})

if isBusy == "false" {
reference.child(selectedDoctor).child(dateChild).child(timeChild).child(ReservationFields.isBusy).setValue("true")
reference.child(selectedDoctor).child(dateChild).child(timeChild).child(ReservationFields.firstname).setValue(firstNameLabel.text)
reference.child(selectedDoctor).child(dateChild).child(timeChild).child(ReservationFields.lastname).setValue(lastNameLabel.text)
reference.child(selectedDoctor).child(dateChild).child(timeChild).child(ReservationFields.pesel).setValue(peselLabel.text)
reference.child(selectedDoctor).child(dateChild).child(timeChild).child(ReservationFields.telephone).setValue(phoneLabel.text)


} else {
createAlert(title: "Przepraszamy - termin jest zajęty", message: "Proszę wybrać inny termin")

}

database

最佳答案

答案相当简单。 Firebase 数据库请求是异步的,因此在您到达 if isBusy == "false" 语句时,不会从数据库中获取值。相应地更改您的代码:

if docChild == 0 {
let selectedDoctor = Doctors.doc1
var isBusy = String()

databaseHandle = reference.child(selectedDoctor).child(dateChild).child(timeChild).child(ReservationFields.isBusy).observe(.childAdded, with: { (snapshot) in
isBusy = snapshot.value as! String
if isBusy == "false" {
reference.child(selectedDoctor).child(dateChild).child(timeChild).child(ReservationFields.isBusy).setValue("true")
reference.child(selectedDoctor).child(dateChild).child(timeChild).child(ReservationFields.firstname).setValue(firstNameLabel.text)
reference.child(selectedDoctor).child(dateChild).child(timeChild).child(ReservationFields.lastname).setValue(lastNameLabel.text)
reference.child(selectedDoctor).child(dateChild).child(timeChild).child(ReservationFields.pesel).setValue(peselLabel.text)
reference.child(selectedDoctor).child(dateChild).child(timeChild).child(ReservationFields.telephone).setValue(phoneLabel.text)


} else {
createAlert(title: "Przepraszamy - termin jest zajęty", message: "Proszę wybrać inny termin")

}
})

如您所见,我只是将您的代码移入处理程序,因此它会在获取您的值后执行。

关于swift - 无法从 Firebase 获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46516370/

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