这是我的数据结构:
问题是我不知道如何正确地恢复也是键的数据。我想要的只是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)
我已经放养了几天。有人有帮助的想法吗?预先谢谢你。
答案 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)
}
}