首页 > 解决方案 > 无法从 Firebase 检索 Int

问题描述

我正在尝试从 Firestore 中检索 Int,但我不能说“调用 'append' 的结果未使用”这是我的代码:

class pointsM: ObservableObject {
@Published var point = 0
init() {
    let db = Firestore.firestore()
    let user = Auth.auth().currentUser?.uid
    db.collection("Male").document(user!).getDocument { (snap, error) in
        if error != nil{
            print("Error")
        }else{
            let points = snap!.get("Coins") as? Int ?? 0
            self.$point.append(points)
        }
    }
}

}

标签: swiftgoogle-cloud-firestore

解决方案


你的问题是你是冲突的类型,以及危险的强制展开。

class PointsM: ObservableObject {
    @Published var point = 0

    init() {
        if let user = Auth.auth().currentUser?.uid {
            Firestore.firestore().collection("Male").document(user).getDocument { (snap, error) in
                if let doc = snap,
                    let point = doc.get("Coins") as? Int {
                    self.point = point
                } else if let error = error {
                    print(error)
                }
            }
        }
    }
}

推荐阅读