如何以正确的方式将具有自己属性的对象发送到数据库?
让我们说具有属性的对象:
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)
数据库应如下所示:
每当我添加新人时,我都会把新孩子当作“人”父母。
提前致谢!
答案 0 :(得分: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())