在 Swift 中从 NsDIctionary 获取值
Getting value from NsDIctionary in Swift
大家好,我正在尝试从我的 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 0x0000000000000000
payload_data_2 Builtin.RawPointer 0x600001471840 0x0000600001471840
包括我的数据库数据的屏幕截图以及任何想法?
将 NSMutableArray 更改为 [Any] 并将 NSMutableDictionary 更改为 [字符串:任意].
这是完整的代码。
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 = ""
}
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 0x0000000000000000 payload_data_2 Builtin.RawPointer 0x600001471840 0x0000600001471840
包括我的数据库数据的屏幕截图以及任何想法?
将 NSMutableArray 更改为 [Any] 并将 NSMutableDictionary 更改为 [字符串:任意].
这是完整的代码。
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 = ""
}