Firebase 如何获取 NSDictionary 数据

Firebase how to get NSDictionary data

我想在用户配置文件中获取一些数据,我有一些信息,但我卡在了这个。

Firebase 数据库:

这是我的一些代码:

self.ref.child("users").child("profile").observe(.childAdded, with: { (snapshot) in


        if let dictionary = snapshot.value as? [String:Any] {

            let user = User()

            let brands = dictionary["status"] as! NSDictionary


            user.displayname = dictionary["displayname"] as? String
            user.isconnected = brands["isconnected"] as? String

            print(user.isconnected) //fatal error: unexpectedly found nil while unwrapping an Optional value


class User: NSObject {
    var displayname: String?
    var isconnected: String?
}

尝试类似的方法:

guard let dictionary = snapshot.value as? [String: Any] else {
    return
}

guard let statusDictionary = dictionary["status"] as? [String: Any] else {
    return
}

guard let deviceStatusDictionary = statusDictionary["DEVICE_KEY"] as? [String: Any] else {
    return
}

let user = User()

user.displayname = dictionary["displayname"] as? String
user.isconnected = deviceStatusDictionary["isconnected"] as? Bool

您需要知道您的设备密钥。

并且:

class User: NSObject {
    var displayname: String?
    var isconnected: Bool?
}