Swift从Firebase数据库获取特定价值 [英] Swift Get Specific Value From Firebase Database

查看:95
本文介绍了Swift从Firebase数据库获取特定价值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从Firebase数据库获取特定值.我看了一些文件,例如Google的文件,但我做不到.这是数据库的JSON文件:

I'm trying to get a specific value from Firebase Database. I looked some of the documents such as Google's, but I couldn't do it. Here is the JSON file of the database:

{
    "Kullanıcı" : {
        "ahmetozrahat25" : {
            "E-Mail" : "ahmetozrahat25@gmail.com",
            "Yetki" : "user"
        },
        "banuozrht" : {
            "E-Mail" : "banuozrahat@gmail.com",
            "Yetki" : "user"
        }
    }
}

快捷代码:

ref?.child("Kullanıcı").child(userName.text!).observeSingleEvent(of: .value, with: { (snapshot) in

    if let item = snapshot.value as? String{
        self.changedName = item
    }
})

我想获取用户而不是每个人的E-Mail值.我该怎么办?

I want to get E-Mail value of a user, not everybody's. How can I do that?

推荐答案

最后我找到了解决方案.如果我声明一个var并稍后尝试使用,它将返回nil,但是如果我尝试使用snapshot.value as? String则可以.这是我做的一个例子.

At last I found a solution. If I declare a var and try to use later it returns nil, but if I try use snapshot.value as? String it's ok. Here is a example I did.

    ref: FIRDatabaseReference?
    handle: FIRDatabaseHandle?

    let user = FIRAuth.auth()?.currentUser

    ref = FIRDatabase.database().reference()

    handle = ref?.child("Kullanıcı").child((user?.uid)!).child("Yetki").observe(.value, with: { (snapshot) in

        if let value = snapshot.value as? String{

            if snapshot.value as? String == "admin"{
                self.items.append("Soru Gönder")
                self.self.tblView.reloadData()
            }
        }
    })

这篇关于Swift从Firebase数据库获取特定价值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆