从Swift中的NsDIctionary获取值

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

[enter image description here嘿,我正在尝试从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 Builtin.RawPointer 0x0 0x0000000000000000payload_data_2 Builtin.RawPointer 0x600001471840 0x0000600001471840

包括我的数据库数据的屏幕快照以及任何想法吗?

ios swift firebase nsdictionary
1个回答
1
投票

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 = ""

                }

© www.soinside.com 2019 - 2024. All rights reserved.