[英]Swift Cloud Firestore Custom Object Mapping
我对 Firebase 的新 Cloud Firestore 相对较新,并且在尝试将数据映射到/从时遇到困难。 我已经尝试通过 Google 在线查看文档,但它有一些我无法弄清楚的问题。
[String : Any]
为我的自定义结构时,文档建议我尝试以下操作:docRef.getDocument { (document, error) in
let result = Result {
try document.flatMap {
try $0.data(as: City.self)
}
}
switch result {
case .success(let city):
if let city = city {
print("City: \(city)")
} else {
print("Document does not exist")
}
case .failure(let error):
print("Error decoding city: \(error)")
}
}
但是,这在$0.data(as: City.self)
行上产生了一个错误,类型为 'NSObject' has no member 'data' 。
do {
try db.collection("cities").document("LA").setData(from: city)
} catch let error {
print("Error writing city to Firestore: \(error)")
}
但这也会在.setData(from: city)
上产生错误,参数标签为 '(from:)' do not match any available overloads 。
有没有人对此有任何熟悉,以尝试为将 Firestore 数据转换为自定义结构提供额外的清晰度? 我知道我的结构是可编码的。
如果我理解正确,您会遇到我几天前遇到的相同问题: Firebase (Cloud Firestore) - 如何在 Swift 5 中将文档转换为自定义对象?
这里的关键是明确地执行import FirebaseFirestoreSwift
而不是仅仅执行import Firestore
。
从未找到错误的原因,但是......
$0.data
转换$0.data
JSON Data 对象,然后适当地解码以便将字典映射到结构。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.