gpt4 book ai didi

swift - 我正在尝试在用户输入时查询 firebase 数据库,但我不断收到此错误

转载 作者:行者123 更新时间:2023-11-28 13:43:08 24 4
gpt4 key购买 nike

所以我发现这段代码可以在用户仍在输入时查询您的数据库,但是代码已经过时并且我一直在更新它,但是有一个错误我不知道如何修复。

func findFriends(text: String) -> Void {

let ref = Database.database().reference()
ref.child("users").queryOrdered(byChild: "username").queryStarting(atValue: text).queryEnding(atValue: text+"\u{f8ff}").observe(.value, with: { snapshot in

let user = User()
let userArray = [User]()

for u in snapshot.children{
user.name = u.value!["name"] as? String
}
})

我在最后一行收到一个错误,它说:

Value of type 'Any' has no member 'value'

最佳答案

snapshot.children 中的元素属于Any 类型,没有value 属性。要获取 value 属性,您需要将 u 转换为 DataSnapshot:

for userSnapshot in snapshot.children{
let userSnapshot = userSnapshot as! DataSnapshot
guard let dictionary = userSnapshot.value as? [String: Any] else { return }
user.name = dictionary["name"] as? String
}

或者,您将类型转换放入循环中:

for userSnapshot in in snapshot.children.allObjects as? [DataSnapshot] ?? [] {
guard let dictionary = userSnapshot.value as? [String: Any] else { return }
user.name = dictionary["name"] as? String
}

关于swift - 我正在尝试在用户输入时查询 firebase 数据库,但我不断收到此错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55773969/

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