SwiftUI中的Embeddedd可编码对象和Firestore出现问题

SwiftUI中的Embeddedd可编码对象和Firestore出现问题,swift,google-cloud-firestore,Swift,Google Cloud Firestore,我有以下几点 class OrderBasket:可识别、可编码{ @DocumentID变量id:String! 变量积分:Int!=200 var basketTotal:整数 变量医嘱行:[医嘱行]=[] 枚举编码键:字符串,编码键{ 病例id 案例学分 箱包总数 案例订单行 } } 及 类订单行:可识别、可平衡、可编码{ @DocumentID变量id:String!=UUID().UUIString var sku:字符串! 变量数量:Int 变量lineTotal:Int 枚举编码

我有以下几点

class OrderBasket:可识别、可编码{
@DocumentID变量id:String!
变量积分:Int!=200
var basketTotal:整数
变量医嘱行:[医嘱行]=[]
枚举编码键:字符串,编码键{
病例id
案例学分
箱包总数
案例订单行
}
}

类订单行:可识别、可平衡、可编码{
@DocumentID变量id:String!=UUID().UUIString
var sku:字符串!
变量数量:Int
变量lineTotal:Int
枚举编码键:字符串,编码键{
病例id
案例sku
箱子数量
案例行总数
}
}
我能够成功地从Firestore读取数据。但是,如何提取
订单行

以下代码用于读取
OrderBasket
。如何获取
订单行

db.collection(“Basket”).document(Auth.Auth().currentUser!.uid).addSnapshotListener{(querySnapshot,错误)位于
guard let basket=querySnapshot?.data()其他{
打印(“篮子无文档”)
返回
}
self.orderBasket.credits=(basket[“credits”]as!Int)
self.orderBasket.basketTotal=basket[“basketTotal”]as!Int
}
basket[“orderLines”]
包含数据,但如何将其传送到对象


我使用的是
FirebaseFirestoreSwift
BTW.

您能否提供有关数据结构的更多详细信息?在Firestore中如何存储它的屏幕截图会很有用。
basket[“orderLines”]
可能是一个
[[String:Any]]
或一组字典。如果是,则必须遍历此数组,并将每个字典转换为一个
OrderLine
对象。您可以给
OrderLine
一个失败的初始值设定项,该初始值设定项接受
[String:Any]
字典并返回可选的
OrderLine
对象,或者手动从字典中获取每个字段并将其注入初始值设定项。同样,当您将
OrderLine
对象数组写入Firestore时,您首先将其序列化为
[[String:Any]]
字典数组(map)。