gpt4 book ai didi

swift - 如何将 Firebase 数据库快照与文本进行比较?

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

我正在使用 Firebase 在 Swift 中编写一个应用程序。如何将 Firebase 数据库快照与其他内容进行比较?对于他们不理解我的人,这里有一个例子:

Database.database().reference().child("users").child((Auth.auth().currentUser?.uid)!).child("Person").observeSingleEvent(of: .value) { (PersonSnap) in
let PersonID = PersonSnap.value

if PersonID == "HelloWorld" {
//Code
}
}

如何制作这个 if PersonID == "HelloWorld" 部分?

最佳答案

您的代码工作正常 - 唯一的问题是 PersonSnap.value 可能有很多东西,所以我们需要告诉编译器它是什么。这个问题假定以下 Firebase 结构

your_firebase
users
uid_x
Person: "HelloWorld"

要读取的 Firebase 闭包中的代码是

let PersonID = snapshot.value as! String
if PersonID == "HelloWorld" {
print(PersonID)
} else {
print("the string was not HelloWorld")
}

请注意,我们正在展开可选的 PersonSnap.value 并将其定义为字符串。

另请注意,如果它为 nil,则强制展开选项可能会给您带来麻烦。仅当您确定变量将被填充时才强制解包。一个更安全的选择是 guard

guard let myId = snapshot.value as? String else { return }
print(myId)

如果您想 super 安全又时尚,请使用if let

if let thisId = snapshot.value as? String {
if thisId == "HelloWorld" {
print(thisId)
} else {
print("the string was not HelloWorld")
}
}

关于swift - 如何将 Firebase 数据库快照与文本进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50778922/

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