swift - 快速访问嵌套的键值对
问题描述
我正在尝试访问键 1 的值。这是我的 Firebase 图:
这是我的代码:
@IBAction func ridefinder(_ sender: Any) {
let ref = Database.database().reference()
ref.child("name/hi").observeSingleEvent(of: .value) { (snapshot) in
print(snapshot.value as? [String:Any])
}
当我运行它时,它会打印nil
,但是当我将它稍微更改为:
@IBAction func ridefinder(_ sender: Any) {
let ref = Database.database().reference()
ref.child("name").observeSingleEvent(of: .value) { (snapshot) in
print(snapshot.value as? [String:Any])
}
它在里面打印两组键值对。
我如何才能访问hi
名称内部键的值?
解决方案
尝试:
let ref = Database.database().reference()
ref.child("name").observeSingleEvent(of: .value) { (snapshot) in
if let value = snapshot.value as? [String:Any], let hi = value["hi"] as? String {
print(hi)
}
}
数据库引用中的值通过使用 snapshot.value 访问并被转换为 [String: Any]。然后你在字典中找到你想要的值,就像总是以字典[“key”]访问它们一样。
推荐阅读
- c++ - 浮动数组的错误对齐
- tomcat8 - 如何在 Tomcat 8 中为链接和脚本标签设置上下文路径
- keras - MLflow 在每个 epoch 后保存权重
- neural-network - 如何确定哪种卷积神经网络架构可以识别自己的数据集?
- asp.net-mvc - 负载平衡器到位时获取真实客户端 IP 地址的问题
- node.js - 如何仅使用 Docker-compose.yml 文件而不使用 Dockerfile 来启动 Node.js 应用程序的容器
- html - 如何在 1 行的小屏幕上正确堆叠 col 元素?
- c++ - c++ typeid使用get()和*为同一个unique_ptr返回不同的值
- javascript - 在下面滚动 React-big-calendar 中的新事件
- javascript - 将函数绑定到 SVG 元素