如何在 Swift 中从 Firebase 接收数组

问题描述 投票:0回答:2

我在 firebase 上有一个分数和名称数组,我想接收该数组并将其放入一个数组中。我按照文档所说的进行操作,最终得到了这个......

 databaseRef.child("Leaderboard").queryOrderedByKey().observe(.childChanged, with: {
    snapshot in 

let value = snapshot.value as? NSDictionary
//Add data to variables


}

但是

value
正在被转换为字典,我有两个想要接收的数组,如何在不混合它们的情况下访问它们?

我的 Firebase 层次结构如下所示

Leaderboard
        Scores
           50
           47
           ... //Continues
        Names 
           John Doe
           BOB
           ...//Continues
ios arrays firebase swift3 firebase-realtime-database
2个回答
5
投票

为每个写一个并将其投射到

Array

var yourArray = [Int]()
            if let scores = snapshot.value as? NSArray{
                for i in 0..<scores.count {
                    yourArray.append(scores[i] as! Int)
                }
            }

Names

做同样的事情

0
投票

要从 firebase 检索数组,请强制转换为 [Type]

"array_firebase"
是 firebase 文档中的密钥

在此示例中是一个字符串数组:

let array = data["array_firebase"] as? [String] ?? []
© www.soinside.com 2019 - 2024. All rights reserved.