不使用 [] 从 Firebase 实时数据库中检索子条目。 - Swift 5
Retrieve child entry from Firebase Realtime Database without []. - Swift 5
我有点被一些小问题困住了,但这让我有些头疼!我有一个实时数据库,我可以从中检索我需要的信息。我唯一的问题是打印(例如:200)不是打印(例如:[200])!
这是我的代码:
func readData() {
FirebaseDatabase.Database.database().reference().child("Available_Funds").observeSingleEvent(of: .value, with: { snapshot in
guard let value = snapshot.value as? [String: Any] else {
return
}
let amountWallet = value.values
print(amountWallet)
self.currentBalanceLabel.text = "$" + "\(amountWallet)"
print("\(value)")
})
}
现在我用此代码打印的是 $[200],而不是我打算得到的只是 $200。
尝试在线查找,但没有成功!有人知道如何从打印中删除这些方括号吗?
您将其作为字符串数组回调 [String: Any]
您可以更改它(删除 [])或访问数组中的第一个元素:amountWallet[0]
.
values
是一个 Array
—— 因此是 []
。当您说 value.values
时,您要求的是 snapshot.value
.
中 key/value 对的所有值
如果您打算从中获取 单个 值,您可以使用 amountWallet[0]
获取第一个元素。请记住,如果 amountWallet
有 0 个元素(数组索引为零),这将崩溃。
amountWallet.first
会给你一个可以安全使用的 Optional,但你需要打开它才能打印:
let amountWallet = value.values
if let singleAmount = amountWallet.first {
print(singleAmount)
self.currentBalanceLabel.text = "$" + "\(singleAmount)"
}
我有点被一些小问题困住了,但这让我有些头疼!我有一个实时数据库,我可以从中检索我需要的信息。我唯一的问题是打印(例如:200)不是打印(例如:[200])!
这是我的代码:
func readData() {
FirebaseDatabase.Database.database().reference().child("Available_Funds").observeSingleEvent(of: .value, with: { snapshot in
guard let value = snapshot.value as? [String: Any] else {
return
}
let amountWallet = value.values
print(amountWallet)
self.currentBalanceLabel.text = "$" + "\(amountWallet)"
print("\(value)")
})
}
现在我用此代码打印的是 $[200],而不是我打算得到的只是 $200。
尝试在线查找,但没有成功!有人知道如何从打印中删除这些方括号吗?
您将其作为字符串数组回调 [String: Any]
您可以更改它(删除 [])或访问数组中的第一个元素:amountWallet[0]
.
values
是一个 Array
—— 因此是 []
。当您说 value.values
时,您要求的是 snapshot.value
.
如果您打算从中获取 单个 值,您可以使用 amountWallet[0]
获取第一个元素。请记住,如果 amountWallet
有 0 个元素(数组索引为零),这将崩溃。
amountWallet.first
会给你一个可以安全使用的 Optional,但你需要打开它才能打印:
let amountWallet = value.values
if let singleAmount = amountWallet.first {
print(singleAmount)
self.currentBalanceLabel.text = "$" + "\(singleAmount)"
}