swift - 如何读取数据类型Dictionary来输入[String]?

标签 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)

我已经备货好几天了。有人有想法可以帮忙吗?预先感谢您。

最佳答案

您可以从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)
    }
}

关于swift - 如何读取数据类型Dictionary来输入[String]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56327901/

相关文章:

android - FirebaseRecyclerAdapter 检查查询是否成功完成

ios - 从 Firebase 检索名称到 TableView

android - 如何从 Firebase 数据库中读取除特定键之外的所有键的所有数据?

javascript - 如何根据另一个节点中的数据对 Firebase 数组进行排序?

Swift,为什么这个本地变量没有被释放?

iOS 请求始终授权只是第一次显示权限警报

javascript - 有没有办法将 firestore 搜索结果放入数组中?

javascript - 如何在 firebase 中添加数据?

ios - 当我创建 UITextView 时,如何在实时 View 中显示的 Swift Playgrounds(在 Xcode 上)的 UI 中隐藏键盘?

ios - 从应用程序委托(delegate)路由到特定的 View Controller 。 swift