我正在尝试建立一个基本功能,以根据用户在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
}
我想知道是否有人遇到过类似的问题并且知道如何解决。