所以基本上我遇到了一个错误,当我尝试从 Firestore 获取文档时,该错误不断出现在我的代码中。我不太确定为什么,有人可以向我澄清一下。我正在尝试使用 Log 的结构并捕获文档中的不同字段。在此之后,我想将它添加到一个日志数组中,以便我可以在我的视图中呈现。
我的代码:
import Foundation
import Firebase
这是我想用来为我的数据建模的日志结构:
struct Log {
// MARK: - Properties
var date : Date
var leftUO : Bool
var leftUI : Bool
var leftLI : Bool
var leftLO : Bool
var rightUO : Bool
var rightUI : Bool
var rightLI : Bool
var rightLO : Bool
}
这就是我想要从 firebase 检索数据并将其存储在本地的方式。
struct LogsModel {
let storage = Firestore.firestore()
func retrieveLogs(uid: String, user : String) -> [Log] {
var logs : [Log] = []
storage.collection("/LOGS" + user + uid).getDocuments { (snapshot, error) in
guard let documents = snapshot?.documents else {
print(error?.localizedDescription ?? "Documents not retrived")
return
}
for document in documents {
let date = document.get(Constants.FirebaseConstants.DATE)
let fieldLLI = document.get(Constants.FirebaseConstants.LEFTLOWERINNER)
let fieldLLO = document.get(Constants.FirebaseConstants.LEFTLOWEROUTER)
let fieldLUO = document.get(Constants.FirebaseConstants.LEFTLOWEROUTER)
let fieldLUI = document.get(Constants.FirebaseConstants.LEFTUPPERINNER)
let fieldRLI = document.get(Constants.FirebaseConstants.RIGHTLOWERINNER)
let fieldRLO = document.get(Constants.FirebaseConstants.RIGHTLOWEROUTER)
let fieldRUO = document.get(Constants.FirebaseConstants.RIGHTUPPEROUTER)
let fieldRUI = document.get(Constants.FirebaseConstants.RIGHTUPPERINNER)
let log = Log(date: date as! Date,
leftUO: fieldLUO as! Bool,
leftUI: fieldLUI as! Bool,
leftLI: fieldLLI as! Bool,
leftLO: fieldLLO as! Bool,
rightUO: fieldRUO as! Bool,
rightUI: fieldRUI as! Bool,
rightLI: fieldRLI as! Bool,
rightLO: fieldRLO as! Bool)
// TODO - extract document into Log struct and add that to logs array
logs += [log]
}
}
return logs
}
}
我希望我足够澄清我的问题。在此先感谢您的帮助,我真的很感激
将此作为社区维基发布,因为它基于@Aheze 的评论:
您收到的错误Editor placeholder in source file
意味着您的代码中某处有一个占位符,它将由灰色或蓝色块指示,并且需要用该值的某些内容替换。
此外,请确保在再次运行之前清理项目,因为这也可能被 Xcode 无缘无故地触发。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句