如何将 autoID 保存到创建的孩子?

Ale*_*147 1 ios firebase firebase-realtime-database swift3

我在这个网站上阅读了很多文章,重点是将数据写入 Firebase 数据库。但是,他们都不能解决我的问题。

我创建了一个带有 autoID 的对象,但是稍后要删除它,我需要创建对象时使用的 autoID。出于这个原因,我需要将 autoID 保存到该对象。它只是行不通。

这是代码:

@IBAction func Save(_ sender: Any) {

    let Town = Stadt.text
    let surface = Untergrund.text
    let size = Groesse.text
    let numberof = AnzToreKoerbe.text
    let laenge = longitudeLabel.text
    let breite = latitudeLabel.text
    let street = Strasse.text
    let Art = Platzart.text
    var PlatzID = ""


    var upload : [String : AnyObject] = ["Platzart": Art as AnyObject,
                                         "Laengengrad" : laenge as AnyObject,
                                         "Breitengrad" : breite as AnyObject,
                                         "Stadt" : Town as AnyObject,
                                         "Strasse" : street as AnyObject,
                                         "Untergrund" : surface as AnyObject,
                                         "Groesse" : size as AnyObject,
                                         "AnzahlToreKoerbe" : numberof as AnyObject,
                                         "PlatzID" : PlatzID as AnyObject]


    ref?.child("Sportplatz").childByAutoId().setValue(upload)

    PlatzID = (ref?.key)!

    ref?.updateChildValues(["PlatzID" : PlatzID as AnyObject])
Run Code Online (Sandbox Code Playgroud)

我尝试保存密钥,正如一些文章推荐的那样,然后使用该密钥更新子“PlatzID”。当我创建一个新对象时, PlatzID 仍然是空的。

谢谢你的帮助。

Ale*_*ets 8

不确定这是否可以帮助您+我的答案有点晚了,但是您可以像这样获取并保存 autoID:

let randomID = Database.database().reference().childByAutoId()
print(randomID.key)
Run Code Online (Sandbox Code Playgroud)