如何将整个对象发送到Firebase数据库?

问题描述 投票:1回答:1

我如何以正确的方式将具有自己属性的对象发送到数据库?

让我们说具有属性的对象:

class Test {
 var name:String
 var age:Int

 init(name: String, age: Int) {
  self.name = name
  self.age = age
 }
}

(...)
let obj = Test(name: "Jack", age: 25)
let databaseRef = FIRDatabase.database().reference().child("Person")

databaseRef.setValue(obj)

数据库应如下所示:

enter image description here

每当我添加新人时,我都会把新孩子当作“人”父母。

提前致谢!

ios firebase swift3 firebase-realtime-database
1个回答
3
投票

为此,首先需要使用personId生成唯一的childByAutoId(),然后将人员详细信息添加到其中。

let newPersonRef = FIRDatabase.database().reference().child("Person").childByAutoId()
let obj = Test(name: "Jack", age: 25)
newPersonRef.setValue(obj.toDictionary())

如果您还想要新创建的人的唯一引用ID:

let newPersonRef = FIRDatabase.database().reference().child("Person").childByAutoId()
print(newPersonRef.key)

编辑:在Any类中添加一个返回类型为Test的函数。

func toDictionary() -> Any {
    return ["name":name, "age": age] as Any
}

然后以这种方式在Firebase中设置测试对象:

let obj = Test(name: "Jack", age: 25)
newPersonRef.setValue(obj.toDictionary())
© www.soinside.com 2019 - 2024. All rights reserved.