Swift Firebase更改值不稳定

时间:2017-11-02 04:32:52

标签: ios swift firebase

我尝试使用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")
          }

但是我的应用程序是,值不稳定。

原始值和新值无休止地更改,然后我的应用程序停止。

解决这个问题的任何想法......?

谢谢!

1 个答案:

答案 0 :(得分:0)

1)当您使用tableView时,即使您不使用for循环,我也确定您需要al值吗?而是在didselectAction上使用for循环,只需通过创建不使用for循环的引用来直接执行值更新。

2)由于for循环条件,你输出不稳定因此,请避免在这里循环并直接更新值