Как закодировать модель данных в документ Firestore Snapshot (Swift)

# #ios #swift #xcode #firebase #google-cloud-firestore

Вопрос:

Когда мы запрашиваем данные из firebase firestore, мы можем декодировать снимки документов в модели данных, что подтверждает декодируемый протокол.

 struct DataModel {
    let firstName: String
    let lastName: String
}
// consider docSnapshot(DocumentSnapshot) is retrieved from Firestore
let model: DataModel? = try? docSnapshot.data(as: DataModel.self)
 

А также мы можем кодировать модели данных в [Строка : Любая], которая подтверждает кодируемый протокол с помощью кодера Firestore

 struct DataModel {
    let firstName: String
    let lastName: String
}

let dataObj = DataModel("First", "Last")

let data: [String: Any]? = try? Firesotre.Encoder().encode(dataObj)
 

мой вопрос в том, как я могу закодировать объект DataModel (т. Е. dataObj) в DocumentSnapshot вместо [Строка: Любая]

Мы очень ценим вашу помощь

Комментарии:

1. Вы не можете закодировать его в DocumentSnapshot … это то, что возвращается API Firebase, и в нем есть компонент, называемый data , который хранит информацию. Чего вы на самом деле пытаетесь здесь достичь? Может быть, это прояснит, что должно произойти в ответе.