如何读取数据类型Dictionary以键入[String]?

时间:2019-05-27 14:23:03

标签: swift firebase firebase-realtime-database

这是我的数据结构:

enter image description here

问题是我不知道如何正确地恢复也是键的数据。我想要的只是Key,而值“ true”只是标记。而且,我什至不知道我当前存储的数据类型以及如何将键值取回。

我想要的是什么

["BAFS", "Econ", "Geog"]

以下是我写数据的方式:

var subjectvalue: [String] = []
let structure = subjectvalue.reduce(into:[String:String](), { $0[$1] = "true"})
 let postRef = Database.database().reference().child("posts").child(id!).child("posts").setValue(structure)

我已经放养了几天。有人有帮助的想法吗?预先谢谢你。

1 个答案:

答案 0 :(得分:0)

您可以从DataSnapshot获取字典。然后获取字典的.keys并删除所有非"true"

的元素
let postRef = Database.database().reference().child("posts").child("id").child("posts")
postRef.observe(.value) { snapshot in
    if let dict = snapshot.value as? [String : String] {
        let result = Array(dict.keys).removeAll(where: { $0 != "true" })
        print(result)
    }
}