我想在Firebase中存储自定义对象Event
,一个Event
可以有多个StopOff
和User
,我将它们保存在Event
中对象为[StopOff]
和[User]
但是,当我尝试保存到Firebase时,出现了以下问题:这些类型不是Firebase支持的基本可保存类型。
这对于单个对象是可以的,因为我可以使用toAnyObject
方法将它们向下映射到基键和值,但是对于数组,我看不到为数组中的每个项目实现此目的的方法? / p>
当这些自定义模型数组还包含其他自定义对象以创建树时,情况变得更糟
这是我遇到问题的方法
func toAnyObject() -> Any {
return [
"name": name,
"users": users,
"startPoint": startPoint.toAnyObject(),
"endPoint": endPoint.toAnyObject(),
"stopOffs": stopOffs
]
}
我确信我的方法一定不正确,因为我习惯了传统的SQL后端,但是会令我的方法得到纠正
答案 0 :(得分:0)
似乎使用
"users": users.map { $0.toAnyObject() }
在我的父toAnyObject
函数内部,允许按预期将数组转换为对象并存储在云存储中,希望这是最好的解决方案