我尝试使用TableView更改Firebase中的值。
这是didSelectRowAt中的Swift代码。
if let result = snapshot.children.allObjects as? [DataSnapshot] {
for child in result {
let nameDB = child.childSnapshot(forPath: "contactName").value! as! String
if nameDB == receiverName {
let autoID = child.key as String
if receiverAmount.characters.contains("-") {
self.dbRef.child("user/contacts/\(autoID)/borrowAmount").setValue("")
self.dbRef.child("user/contacts/\(autoID)/borrowDueDate").setValue("")
}
else {
self.dbRef.child("user/contacts/\(autoID)/lendAmount").setValue("")
self.dbRef.child("user/contacts/\(autoID)/lendDueDate").setValue("2099-12-31")
}
但是我的应用程序是,值不稳定。
原始值和新值无休止地更改,然后我的应用程序停止。
解决这个问题的任何想法......?
谢谢!
答案 0 :(得分:0)
1)当您使用tableView时,即使您不使用for循环,我也确定您需要al值吗?而是在didselectAction上使用for循环,只需通过创建不使用for循环的引用来直接执行值更新。
2)由于for循环条件,你输出不稳定因此,请避免在这里循环并直接更新值