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

时间:2017-02-26 21:20:17

标签: ios firebase swift3 firebase-realtime-database

我已经阅读了本网站上的大量文章,这些文章的重点是将数据写入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])

我试图保存密钥,因为有些文章建议然后更新孩子" PlatzID"用那把钥匙。 当我创建一个新对象时,PlatzID仍然是空的。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

不确定这是否可以帮助你+我的答案有点迟了,但你可以像这样得到并保存autoID:

let randomID = Database.database().reference().childByAutoId()
print(randomID.key)