我对于Firebase的新Cloud相对来说还是比较新的,而且我在尝试将数据映射到/从上时遇到了困难。我试过通过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‘,没有成员'data’。
当我尝试将数据作为文档写入一个新集合时,文档建议我尝试以下方法:
do {
try db.collection("cities").document("LA").setData(from: city)
} catch let error {
print("Error writing city to Firestore: \(error)")
}但是这也会在带有参数标签'(from:)‘的.setData(from: city)上产生一个错误,不匹配任何可用的重载。
是否有人对此有任何熟悉,以尝试为将Fi还原数据转换为自定义结构提供更多的清晰度?我知道我的结构是可编码的。
发布于 2020-01-07 09:38:37
如果我正确理解的话,你的问题和几天前我遇到的问题一样:Firebase (Cloud Firestore) - How to convert document to a custom object in Swift 5?
这里的关键是显式地执行import FirebaseFirestoreSwift,而不是只执行import Firestore。
发布于 2020-01-05 02:46:46
从没有找到错误的理由,但是..。
$0.data转换为JSON数据对象,然后适当地解码,以便将字典映射到JSONhttps://stackoverflow.com/questions/59595734
复制相似问题