Swift - 无法转换类型' __ NSCFString'来自NSDictionary'

时间:2016-08-08 14:17:48

标签: swift firebase firebase-realtime-database

我收到了此错误,但我试图从String获取Dictionary。这是我的代码:

FIRDatabase.database().reference().child("users").child(uid).observeEventType(.ChildAdded, withBlock: { (snapshot) in

            let dictionary = snapshot.value as! NSDictionary

            if let username = dictionary["name"] as? String {
                cell.name.text = username
            }

            if let userlogin = dictionary["login"] as? String {
                cell.login.text = userlogin
            }

        })

在我的 Firebase数据库 "名称" "登录" 都是字符串。我无法理解问题所在。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:7)

问题将快照转换为NSDictionary。由于快照值是String。 试试这个:

FIRDatabase.database().reference().child("users").child(uid).observeEventType(.ChildAdded, withBlock: { (snapshot) in

        if let dictionary = snapshot.value as? NSDictionary {

            if let username = dictionary["name"] as? String {
                cell.name.text = username
            }

            if let userlogin = dictionary["login"] as? String {
                cell.login.text = userlogin
            }
        }
    })