首页 > 解决方案 > 如何将数据添加到地图

问题描述

我使用google cloud firestore,我在文档中有一张地图。然后我想将更新的地图推送到数据库

该文档如下所示: 在此处输入图像描述

我的文档模型如下所示:

import Foundation
import Firestore

protocol  DocumentSerializable {
    init?(dictionary:[String:Any])
}


struct Exercise {
    var title: String
    var language: String
    var translated: String
    var uid: String
    var userId: String
    var dueDate: Int
    var lastOpen: Int
    var words: Array<Any>
    var sharedUsers: [String: Bool]

    var dictionary:[String:Any] {
        return [
            "title":title,
            "language":language,
            "translated":translated,
            "uid":uid,
            "userId":userId,
            "dueDate":dueDate,
            "lastOpen":lastOpen,
            "words":words,
            "sharedUsers":sharedUsers
        ]
    }
}

extension Exercise : DocumentSerializable {
    init?(dictionary: [String : Any]) {
        guard let title = dictionary["title"] as? String,
            let language = dictionary["language"] as? String,
            let translated = dictionary["translated"] as? String,
            let uid = dictionary["uid"] as? String,
            let userId = dictionary["userId"] as? String,
            let dueDate = dictionary["dueDate"] as? Int,
            let lastOpen = dictionary["lastOpen"] as? Int,
            let words = dictionary["words"] as? Array<Any>,
            let sharedUsers = dictionary["sharedUsers"] as? [String: Bool]

        else {return nil}

        self.init(title: title, language: language, translated: translated, uid: uid, userId: userId, dueDate: dueDate, lastOpen: lastOpen, words: words, sharedUsers: sharedUsers)
    }
}

那么,我怎样才能创建一个看起来像这样的对象(String:Bool),并将其放入地图中?

我希望我提供了足够的信息,否则请随时提问。

提前致谢!

标签: iosarraysswiftgoogle-cloud-firestoreflatmap

解决方案


推荐阅读