Swift-Firebase多个观察者

时间:2016-10-20 20:45:18

标签: ios swift firebase firebase-realtime-database observers

在视图控制器中,我有多个观察者代码。所有这些都正常工作,除了一个。我确定孩子的路径是正确的。观察功能是否正确。我试过不同的视图控制器,它工作正常。这是我的firebase结构: Firebase structure

这是我的观察员功能。

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是正确的,我很确定。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

 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)
         }
        })
    }
}