发送多个数据行到firebase点击一个按钮
问题描述:
伙计这是我的第一个firebase的项目,我想发送一堆数据到数据库,问题是当我点击按钮只有最后一行代码获取发送,我也试过,但在一个函数中的每一行,并通过一个叫他们一个,而同样的情况,只有最后一个函数的工作,并将其发送的数据,这里是上单击代码按钮发送多个数据行到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"])}
}
答
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"])}
为了澄清,你是说只有'pnumfun()'曾经被调用,或无论哪个函数是最后,只有最后一个函数被调用?你是否在每个函数中加入了断点来验证它们没有被调用? –
请以正确的方式格式化问题。 *你的意思是*只有最后一行代码发送*,哪一行?还用您的JSON数据库结构和安全规则更新您的问题。如果它们符合你想要的,也可以尝试在'if else'场景中打印你正在使用的值。如果您检查的案例值是'Int',就像'3'而不是String'“3”',那么我不会感到惊讶。 – Dravidian
@JenPerson无论哪个函数是最后一个,只有最后一个函数被调用..当我设置断点时,断点之前的最后一个函数是唯一被调用的函数! –