【发布时间】:2015-05-24 21:21:24
【问题描述】:
使用为 Swift 提供的示例:
https://www.firebase.com/docs/ios/guide/understanding-data.html
我正在尝试按照此示例检索数据并在标签控件中显示值。
这是我所拥有的:
@IBOutlet weak var lblUser: UILabel!
.....
var myRootRef = Firebase(url:"https://docs-examples.firebaseio.com/web/data")
lblUser.text = myRootRef.childByAppendingPath("users/mchen/name")
我收到一个错误
无法将 Firebase 类型的值分配给字符串类型的值
我尝试添加 as? String 时遇到不同的错误。
我错过了什么?
【问题讨论】:
-
本指南在第 4 步之前不涉及检索值。您调用的 childByAppendingPath 方法返回对 Firebase 数据库中某个位置的引用,该位置的类型为 Firebase。您正在尝试将其分配给字符串,因此出现错误消息。
-
哦,所以如果我收集正确,则需要一个观察者来检索数据,无论它是单个实例还是观察数据以进行更改。无论哪种方式获取数据我都必须注册一个observeEventType?我相信,可能由于在文档中跳来跳去,“观察者”更多地用于监视。谢谢!
-
Firebase 的数据模型完全围绕监控数据路径的变化而构建。如果没有其他内容,请花 2 分钟时间阅读适用于 iOS 的 Firebase 快速入门的第 5 步:firebase.com/docs/ios/quickstart.html
-
更好的是,阅读整个指南并为自己节省十几个小时的颠簸。
-
确实,正在努力。由于这个项目,有点隧道视野。尽管指南第 2 节起初确实暗示代码会在 Swift 中返回“Mary Chen”。在弄清楚类型转换之后已经发生了颠簸,现在是异步问题......