伙计们< 3 这是我的第一个使用firebase的项目,我想向数据库发送一大堆数据,问题是当我单击按钮时只有最后一行代码发送,我也尝试了但是函数中的每一行都调用它们一个接一个,同样的事情,只有最后一个功能工作并发送它的数据,这里是点击代码上的按钮
@IBAction func Send(_ sender: Any) {
apperfun();
dnamefun();
docfun();
servfun();
pnamefun();
pnumfun();
}
这是函数
func apperfun() {
if ap == "1" {self.ref.child("fullinfo").child(pname).setValue(["apperance": "Excellent"])}
else if ap == "2" {self.ref.child("fullinfo").child(pname).setValue(["apperance": "Good"])}
else if ap == "3" {self.ref.child("fullinfo").child(pname).setValue(["apperance": "Bad"])}
}
func dnamefun() {
self.ref.child("fullinfo").child(pname).setValue(["dname":dname])
}
func docfun() {
if doc == "1" {self.ref.child("fullinfo").child(pname).setValue(["level": "Excellent"])}
else if doc == "2" {self.ref.child("fullinfo").child(pname).setValue(["level": "Good"])}
else if doc == "3" {self.ref.child("fullinfo").child(pname).setValue(["level": "Bad"])
self.ref.child("bad").child(pname+phone).setValue(["level": "Bad"])}
}
func servfun() {
if serv == "1" {self.ref.child("fullinfo").child(pname).setValue(["performance": "Excellent"])}
else if serv == "2" {self.ref.child("fullinfo").child(pname).setValue(["performance": "Good"])}
else if serv == "3" {self.ref.child("fullinfo").child(pname).setValue(["performance": "Bad"])}
}
func pnamefun() {
self.ref.child("fullinfo").child(pname).setValue(["pname":pname]);
}
func pnumfun() {
self.ref.child("fullinfo").child(pname).setValue(["pnum":phone]);
}
func receptionfun() {
if recep == "1" {self.ref.child("fullinfo").child(pname).setValue(["reception": "Excellent"])}
else if recep == "2" {self.ref.child("fullinfo").child(pname).setValue(["reception": "Good"])}
else if recep == "3" {self.ref.child("fullinfo").child(pname).setValue(["reception": "Bad"])}
}
答案 0 :(得分:0)
setValue会将该节点中的所有数据替换为您正在设置的数据。您想要使用更新。如果密钥存在,则更新将替换密钥,如果密钥不存在,则将其添加到数据库中。
你有这个:
if ap == "1" {self.ref.child("fullinfo").child(pname).setValue(["apperance": "Excellent"])}
应该是:
if ap == "1" {self.ref.child("fullinfo").child(pname).updateChildValues(["apperance": "Excellent"])}