【问题标题】:Writing data to firebase without overwriting it. Swift将数据写入firebase而不覆盖它。迅速
【发布时间】:2017-09-12 11:05:46
【问题描述】:

我刚刚让我的应用在 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!

关于如何避免覆盖的任何线索?

【问题讨论】:

标签: ios swift firebase firebase-realtime-database


【解决方案1】:

这很正常,所以你可以做一个这样的字典

let data = ["Fornavn": Fornavn.text!,"Efternavn": Efternavn.text!]

然后做

self.ref.child("users").child(Personnr.text!).setValue(data)

它的作用是在 Personnr.text 父节点下存储 Fornavn 和 Efternavn 数据

【讨论】:

    【解决方案2】:

    假设您有一个名为 Personnr.text 的节点。

    如果你想在这个节点上添加更多的子节点或者更新当前数据,可以使用updateChildValues函数

    顺便说一句,您可以通过以下方式优化您的查询:

    self.ref.child("users").child(Personnr.text!) .updateChildValues(["Fornavn": Fornavn.text!],["Efternavn": Efternavn.text!])

    【讨论】:

      【解决方案3】:

      试试这个

      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

      【讨论】:

        猜你喜欢
        • 2012-02-07
        • 1970-01-01
        • 2011-05-08
        • 2018-07-15
        • 2022-01-01
        • 2018-08-04
        • 2015-10-07
        • 2021-06-30
        • 2012-04-24
        相关资源
        最近更新 更多