从 Swift 中的 NsDIctionary 获取价值
Posted
技术标签:
【中文标题】从 Swift 中的 NsDIctionary 获取价值【英文标题】:Getting value from NsDIctionary in Swift 【发布时间】:2019-11-28 11:06:27 【问题描述】:嘿伙计们,我正在尝试从我的 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
包括我的数据库数据的屏幕截图以及任何想法?
【问题讨论】:
【参考方案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 = ""
【讨论】:
以上是关于从 Swift 中的 NsDIctionary 获取价值的主要内容,如果未能解决你的问题,请参考以下文章
attributesOfItemAtPath 返回 nil (SWIFT)
如何返回数据类型:Swift 中的 NSDictionary
Swift 中的错误:(键:AnyObject,值:AnyObject)' 不能转换为 'NSDictionary'