gpt4 book ai didi

ios - 为什么它会覆盖数据而不是在 firebase 中添加更多数据?

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

我很想知道为什么当用户输入新数据时数据会被覆盖,我希望它向它添加更多数据而不是覆盖它的数据也想知道怎么读提前谢谢你

 let oDB = Database.database().reference().child("Data")
let oDictionary = ["Data1" : strange.text! , "Data2" : stranger.text!]
let uid = Auth.auth().currentUser?.uid
oDB.child(uid!).setValue(oDictionary) {

(error, reference) in
if error != nil{
print(error!)
} else {
print("saved Sucessfully")
self.navigationController?.popViewController(animated: true)

}
}

//In another ViewController
func updateRequest() {
let uid = Auth.auth().currentUser?.uid
let yDb = Database.database().reference().child("Data").child(uid!)
postDb.observeSingleEvent(of: .value) { (snapShot) in
if let snapShotValue = snapShot.value as? Dictionary<String, String> {

let text = snapShotValue["Data1"]!
let case = snapShotValue["Data2"]!


let data = Data()
data.s= text
data.y = case

self.array.append(data)
self.table.reloadData()
}
}
}

最佳答案

setValue 覆盖旧内容,你可能需要childByAutoId

oDB.child(uid!).childByAutoId().setValue(oDictionary) {

(error, reference) in
if error != nil{
print(error!)
} else {
print("saved Sucessfully")
self.navigationController?.popViewController(animated: true)

}

这将给出这个结构

Data 
> uid
> someKey1 <<<< auto generated
Data1:"---"
Data2:"---"
> someKey2 <<<< auto generated
Data1:"---"
Data2:"---"

阅读

 //In another ViewController
func updateRequest() {
let uid = Auth.auth().currentUser?.uid
let yDb = Database.database().reference().child("Data").child(uid!)
postDb.observeSingleEvent(of: .value) { (snapShot) in
if let snapShotValue = snapShot.value as? [String:[String:String]] {

Array(snapShotValue.values).forEach {
let data = Data()
data.s= $0["Data1"]!
data.y = $0["Data2"]!
self.array.append(data)
}

self.table.reloadData()
}
}
}

关于ios - 为什么它会覆盖数据而不是在 firebase 中添加更多数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57169955/

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