我刚刚让我的应用程序在firebase上运行,我只是遇到了覆盖数据的小问题。
行动:
@IBAction func Gem(_ sender: UIButton) {
self.ref.child("users").child(Personnr.text!).setValue(["Fornavn": Fornavn.text!])
self.ref.child("users").child(Personnr.text!).setValue(["Efternavn": Efternavn.text!])
}
问题是它写入第一个命令,然后删除它并写入第二个命令。 我是编程新手,所以它可能只是简单。
我已经澄清了文本字段,用户将从中写入数据,然后将数据上传到数据库。
@IBOutlet weak var Fornavn: UITextField!
@IBOutlet weak var Efternavn: UITextField!
@IBOutlet weak var Personnr: UITextField!
@IBOutlet weak var Korekort: UITextField!
有关如何避免覆盖的任何线索?
答案 0 :(得分:2)
这很正常,所以你能做的就是制作一本像这样的字典
let data = ["Fornavn": Fornavn.text!,"Efternavn": Efternavn.text!]
然后再做
self.ref.child("users").child(Personnr.text!).setValue(data)
这样做是因为它在Personnr.text父节点下存储Fornavn和Efternavn数据
答案 1 :(得分:1)
假设您有一个名为Personnr.text
的节点。
如果要在此节点上添加更多子节点或更新当前数据,可以使用updateChildValues
函数
顺便说一句,您可以通过以下方式优化查询:
self.ref.child("users").child(Personnr.text!)
.updateChildValues(["Fornavn": Fornavn.text!],["Efternavn": Efternavn.text!])
答案 2 :(得分:0)
试试这个
let arrVal = [["Fornavn": Fornavn.text!],["Efternavn": Efternavn.text!]]
self.ref.child("users").child(Personnr.text!).updateChildValues(arrVal)
参考:https://firebase.google.com/docs/database/ios/read-and-write