在一个 View Controller 中,我有多个观察者代码。除一个外,所有这些都正常工作。我确定子路径是正确的。观察功能是否正确。我尝试了不同的 View Controller 并且它工作正常。这是我的 firebase 结构:
这是我的观察者函数。
func downloadUserData(){
if let currentUser = FIRAuth.auth()?.currentUser{
print("AZAT: download user data id \(currentUser.uid))")
DataService.ds.REF_USERS.child(currentUser.uid).observe( .value, with: {(snapshot) in
if let userDict = snapshot.value as? Dictionary<String,Any>{
print("AZAT: userdict is \(userDict)")
let user = User(userData: userDict)
self.users.insert(user, at: 0)
}
})
}
}
我在 viewDidLoad()
中调用这个函数。 REF_USERS
是正确的,我很确定。
感谢您的帮助。
最佳答案
func downloadUserData(){
if let currentUser = FIRAuth.auth()?.currentUser{
print("AZAT: download user data id \(currentUser.uid))")
DataService.ds.REF_USERS.child(currentUser.uid).observe( .value, with: {(snapshot) in
if let lastNameReceived = (snapshot.value as? NSDictionary)?["lastName"] as? String{
print("lastName value is \(lastNameReceived)")
}
if let userDict = snapshot.value as? Dictionary<String,Any>{
print("AZAT: userdict is \(userDict)")
let user = User(userData: userDict)
self.users.insert(user, at: 0)
}
})
}
}
关于ios - Swift-Firebase 多个观察者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40164209/