首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Firebase数据加载到图形实体中?有办法对数据进行模态化吗?与Swift 3

如何将Firebase数据加载到图形实体中?有办法对数据进行模态化吗?与Swift 3
EN

Stack Overflow用户
提问于 2017-05-12 03:39:46
回答 1查看 180关注 0票数 0

我是CosmicMind新手,对数据处理有疑问。

在CosmicMind CardTableView示例中,从实体类型的SampleData读取数据。

Q1:有什么方法可以将我的Firebase数据加载到实体中吗?如果是的话,怎么做呢?看起来应该不难,因为它已经是JSON了。我用的是Swift 3.2

Q2:有办法对实体进行建模吗?

非常感谢!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-16 00:31:38

欢迎来到CosmicMind :)

最简单的方法是创建一个导入函数,该函数接收JSON数据,并将键值对映射到实体中的属性。如果Firebase中有类型说明符,则可以将其设置为实体类型。我不使用Firebase,所以我无法描述100%的设置,但是这里有一个示例说明了您将做什么,假设Firebase为您提供了一个唯一的ID。

代码语言:javascript
复制
func importFirebase(data: [[String: Any]]) {
    let graph = Graph()
    let search = Search<Entity>(graph: graph).for(types: "User")
    let users = search.sync()
    var index = [Int: Entity]()

    for user in users {
        if let id = user["id"] as? Int {
            index[id] = user
        }
    }

    for json in data {
        if let id = json["id"] as? Int {
            var entity: Entity

            if nil == index[id] {
                entity = Entity(type: "User")
            } else {
                entity = index[id]!
            }

            for (k, v) in json {
                entity[k] = v
            }
        }
    }

    graph.sync()
}

let data = [
    ["type": "User", "id": 1, "name": "Daniel", "age": 33],
    ["type": "User", "id": 2, "name": "Adam", "age": 28],
    ["type": "User", "id": 3, "name": "Sarah", "age": 23]
]

importFirebase(data: data)

这不一定是最优的解决方案,它应该给你一个想法。

希望它能帮上忙,万事如意!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43928903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档