【发布时间】:2020-02-16 20:15:59
【问题描述】:
我刚开始学习 Swift,我正在尝试从实时火力库中的每个孩子那里读取价值。我想将它保存为数组中的字符串。这是我尝试过的:
self.ref.child("someId/name").observe(.value) { snapshot in
for child in snapshot.children {
let snap = child as! DataSnapshot
let value = snap.value
self.preis.append(value as! String)
}
}
但我总是收到错误消息:线程 1:信号 SIGABRT
在这一行:self.preis.append(value as! String)
我试过了
self.ref.child("someId/name").observe(.value) { 中的快照
for child in snapshot.children {
let snap = child as! DataSnapshot
let value = snap.value
self.preis.append(snapshot.value as! String)
}
}
现在我得到这样的值:Optional(...)
【问题讨论】:
-
显示 Firebase 结构
-
{ "name" : "Joe" }
-
您是否尝试在应用程序崩溃检查内容之前打印
value? -
我得到 Optional({ name = Joe; })
-
你可以试试
if let name = value?["name"] as? String {self.preis.append(name)}
标签: swift firebase firebase-realtime-database sigabrt