大家好,我正在尝试从我的 firebase firestore 中获取一个值,但我似乎一直在获取这些多个有效负载值,而不是我正在寻找的值。这是我目前拥有的:
let motoGPRiders = db.collection("riders").whereField("game_type", isEqualTo: "MOTOGP").addSnapshotListener { (QuerySnapshot, Error) in
let allDocuments = QuerySnapshot!.documents
for riderDocument in allDocuments {
let data = riderDocument.data()
// Get the rider list
guard let riderList = data["game_type_riders"] as? NSMutableArray else { return }
var x = riderList[0] as! NSMutableDictionary
var riderName = x["name"]
var y = ""
}
这是 x 中的内容:
payload_data_0 NSString "Joe"0xd9200b3dfae6b8f0
payload_data_1 内置原始指针 0x0 0x0000000000000000 payload_data_2 Builtin.RawPointer 0x600001471840 0x0000600001471840
包括我的数据库数据的屏幕截图以及任何想法?
最佳答案
将 NSMutableArray 更改为 [Any] 并将 NSMutableDictionary 更改为 [String: Any]。
这是完整的代码。
let motoGPRiders = db.collection("riders").whereField("game_type", isEqualTo: "MOTOGP").addSnapshotListener { (QuerySnapshot, Error) in
let allDocuments = QuerySnapshot!.documents
for riderDocument in allDocuments {
let data = riderDocument.data()
// Get the rider list
guard let riderList = data["game_type_riders"] as? [Any] else { return }
guard let x = riderList[0] as? [String: Any] else { return }
guard var riderName = x["name"] as? String else { return }
var y = ""
}
关于ios - 在 Swift 中从 NsDIctionary 获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59087441/