我正在尝试将追随者和关注属性添加到我的 User 对象中,该属性符合可识别/可解码的原型


import FirebaseFirestoreSwift
import Firebase

//我创建这个对象是为了映射用户数据并访问它。例如,我可以说user。username//可解码的protocall将读取数据字典,并查找我在数据字典中列出的键/属性名称的确切名称,这使得处理对象和从api下载信息时更容易

struct User: Identifiable, Decodable {

//我可以从firebase中删除uid字段因为这会从firebase中读取文档id并将其存储在这个id属性中,这样我就不必在对象的实际主体中复制该数据

@DocumentID var id: String?
let username: String
let fullname: String
let profileImageUrl: String
let email: String

let stats: UserStats

// This is a computed property saying if the currently logged in user's id is equal      to the id on my object (@DocumentID) 
var isCurrentUser: Bool { return Auth.auth().currentUser?.uid == id }

}
struct UserStats: Decodable {
let followers: Int

let following: Int
}

在每个变量末尾添加?

@FirestoreQuery在解码时几乎没有错误处理。

另外,如果您不使用@FirestoreQuery,请使用do try catch代替try?

相关内容

  • 没有找到相关文章