【问题标题】:access different nodes firebase database with swift快速访问不同节点的firebase数据库
【发布时间】:2020-07-21 11:32:07
【问题描述】:

我仍在尝试访问所有节点,但是当我编写此代码时,我收到了下面写的错误。如果这项运动在我的数据库中,我想为高尔夫打印“是”。

let dict = snap.value as! [String: any] 行之前一切正常。即我可以写不同的快照,但它会崩溃。

我的数据库中的所有元素都是字符串,甚至是坐标。您可以通过下面的链接找到我的数据库图片。

@IBAction func testbutton(_ sender: UIButton) {
    Database.database().reference().child("users").observe(.childAdded) { (snapshot) in
       for child in snapshot.children {
        print(child)
            let snap = child as! DataSnapshot
            print(snap)
            let dict = snap.value as! [String: Any]
            let msg = dict["golf"] as! String
            print(msg)

错误:

___________________________________________________
Could not cast value of type 'NSTaggedPointerString' 
(0x7fff87a91958) to 'NSDictionary' (0x7fff87a91c78).
2020-07-21 13:18:24.131870+0200 Joiny[43447:2152693] 
Could not cast value of type 'NSTaggedPointerString' 
(0x7fff87a91958) to 'NSDictionary' (0x7fff87a91c78).
_______________________________________________________

我的数据库图片 ->

【问题讨论】:

    标签: ios swift firebase firebase-realtime-database


    【解决方案1】:

    你需要

    Database.database().reference().child("users").observe(.childAdded) { (snapshot) in  
      let dict = snapshot.value as! [String: Any]
      let res = dict["golf"] as! [String: Any]
      let msg = res["golf"] as! String
      print(msg)
    }
    

    【讨论】:

    • 感谢您的回复,但我现在收到另一条错误消息:致命错误:在展开可选值时意外发现 nil:文件 /Users/guillaumebellanger/Desktop/Joiny 发布地图副本 3/Joiny/RubriqueViewController .swift, 201 行 2020-07-21 15:03:45.694101+0200 Joiny[44290:2207028]
    猜你喜欢
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2020-12-06
    • 2017-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多