Отправка экземпляра структуры в FireStore в Swift - PullRequest
0 голосов
/ 28 марта 2020

Я пытаюсь отправить экземпляр структуры в мою базу данных firestore, чтобы обновить его. Я использую структуру, которую я создал, и я следую инструкции пожарного магазина - https://firebase.google.com/docs/firestore/manage-data/add-data

, это мой код:

import FirebaseFirestore
import FirebaseFirestoreSwift

public struct Pin: Codable {

    let name: String
    let lat: Double
    let long: Double

    enum CodingKeys: String, CodingKey {
        case name
        case lat
        case long
    }

}

, а затем приведу его следующим образом

let db = Firestore.firestore()
let data = Pin["lat" : 32.323, "long": 23.4343 , "name":"Group"]

do {
    try db.collection("Anno").document("Pin").setData(from: data)
} catch let error {
    print("Error writing Annotation to Firestore: \(error)")
}

по какой-то причине я получаю эту ошибку - «Невозможно преобразовать значение типа Pin (имя структуры) в ожидаемый тип аргумента [String: Any]»

теперь я могу привести данные как ! [String: Any], но я хочу, чтобы тип значений [например, double] был сохранен. Также, как вы можете видеть, этот код почти 1: 1, как показано в примере Firebase Document. его все еще не работает.

Также я не понимаю, почему Pin - это тип Pin (это просто имя структуры). Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...