2016-04-03 71 views
1

我有“喜欢”根节点为每个用户持有许多职位ID。但是用Facebook登录后,每次都喜欢从用户那里删除/更新节点。有问题吗?我如何防止这种情况,并更新除“喜欢”根节点?在Firebase中再次登录后删除子根节点? - 斯威夫特

   let accessToken = FBSDKAccessToken.currentAccessToken().tokenString 

       DataService.ds.REF_BASE.authWithOAuthProvider("facebook", token: accessToken, withCompletionBlock: { 
        error, authData in 


        if error != nil { 
         print("Login failed. \(error)") 
        } 
        else { 

         print("Successfully logged in with facebook. \(accessToken)") 
         print("Logged in! \(authData)") 

         let dateFormatter = NSDateFormatter() 
         dateFormatter.dateFormat = "MMMM dd, yyyy hh:mm" 
         let stringDate = dateFormatter.stringFromDate(NSDate()) 
         print("createdAt: " + stringDate) 

         let user = 
         ["id": authData.providerData["id"] as! String, 
         "accessToken": authData.providerData["accessToken"] as! String, 
         "provider": authData.provider!, 
         "displayName": authData.providerData["displayName"] as! String, 
         "email": authData.providerData["email"] as! String, 
         "profileImageURL": authData.providerData["profileImageURL"] as! String, 
         "token": authData.token as String, 
         "createdAt": stringDate] 

         DataService.ds.createFirebaseUser(authData.uid, user: user) 


         NSUserDefaults.standardUserDefaults().setValue(authData.uid, forKey: KEY_UID) 
         self.performSegueWithIdentifier(SEGUE_LOGGED_IN, sender: nil) 

        } 


       }) 

另外我在DataService类中创建了createFirebaseUser函数。

func createFirebaseUser(uid: String, user: Dictionary<String, String>) { 
    REF_USERS.childByAppendingPath(uid).setValue(user) 
} 
+0

我已经解决了它并在下面发表。 – tobeiosdev

回答

0

我已经自己解决了这个问题,知道我需要做的updateChildValues()首次创建帐户之后。分享这个范围可能会帮助其他遇到同样问题的人。

enter image description here