任何人都可以帮助我解决在 Xcode 上使用 swift 从 Firebase 检索数据的问题吗?“源文件中的编辑器占位符”

穆斯塔法·布尔尼

所以基本上我遇到了一个错误,当我尝试从 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章