不使用 [] 从 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)"
}