gpt4 book ai didi

Swift Firebase Query 由数据库中的每个更改启动

转载 作者:行者123 更新时间:2023-11-28 12:01:22 25 4
gpt4 key购买 nike

我创建了一个从 Firebase 加载数据的应用程序。为了节省资源并使应用程序尽可能经济,我实现了查询来为客户端加载合适的数据。那是代码:

    ref.queryOrdered(byChild: "name").queryEqual(toValue: "test").observe(.value, with:{ (snapshot: DataSnapshot) in

if snapshot.exists(){
ref.queryOrdered(byChild: "hometown").queryEqual(toValue: "munich").observe(.value, with:{ (snapshot: DataSnapshot) in


for users in snapshot.children.allObjects as! [DataSnapshot]{
if users.key as! String != userId{
let item = users.value as? [String: AnyObject]
let userid = users.key as! String
let Username = item?["name"] as! String
let Userage = item?["age"] as! String
let ProfileImage = item?["profileImageUrl"] as! String
let firstImage = item?["firstimage"] as! String
let seccondImage = item?["seccondimage"] as! String
let thirdImage = item?["thirimage"] as! String
let fourthImage = item?["fourthimage"] as! String
let fifthImage = item?["fifthimage"] as! String
let sixtImage = item?["sixtimage"] as! String
let sex = item?["sex"] as! String
let gender = item?["gender"] as! String
let info = item?["info"] as! String
let userItem = UserObject(userId: userid, name: Username, age: Userage, sex: sex, gender: gender, profileImage: ProfileImage, fistImage: firstImage, seccondImage: seccondImage, thirdImage: thirdImage, fourthImage: fourthImage, fifthImage: fifthImage, info: info, sixtImage: sixtImage)
self.checkValidFences(userItem: userItem, gf: gf)

}
}


})
}

})

不幸的是,当数据库中发生某些变化时,该方法总是加载数据。这就是为什么我总是在更改数据库中的某些内容后得到冗余值的原因。有没有办法只解析一次值

最佳答案

您可以通过 Reading data once 解决这个问题

You can use the observeSingleEventOfType method to simplify this scenario: the event callback added triggers once and then does not trigger again.


observeSingleEvent(of:with:)

This is equivalent to observeEventType:withBlock:, except the block is immediately canceled after the initial data is returned.

更多信息在这里:

https://firebase.google.com/docs/reference/swift/firebasedatabase/api/reference/Classes/DatabaseReference#observesingleeventofwith

关于Swift Firebase Query 由数据库中的每个更改启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50067028/

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