Firebase中的观察单个事件数据无法持久保存

时间:2018-12-19 23:19:25

标签: ios swift firebase firebase-realtime-database

我正在尝试建立一个基本功能,以根据用户在Firebase中的电话号码返回其UID。每个用户都通过其UID存储在我的数据库中。到目前为止,下面的代码是我的功能。由于我的数据库只有一个用户,所以没有搜索电话号码,但是我很快就会添加。我遇到的问题是,它确实找到了用户UID,但返回的是空值。观察单个事件结束后,该值立即重置为“”。

static func searchUser(userPN: String) -> String {
    var uid = ""
    let baseRef = Database.database().reference()
    baseRef.child("users").observeSingleEvent(of: .value, with: { (snapshot) in
            let value = snapshot.value as? NSDictionary
            uid = value?.keyEnumerator().allObjects[0] as! String
            UserDefaults.standard.set(uid, forKey: "temp")
    }) { (error) in
        print(error.localizedDescription)
    }
    print("UID found: "+uid)
    return uid
}

我想知道是否有人遇到过类似的问题并且知道如何解决。

0 个答案:

没有答案