2016-09-18 60 views
1

我正在使用Firebase登錄並使用NSUserdefaults來保存uid,因此下次可以自動登錄。但不知道爲什麼它不起作用。下面是我的代碼:爲什麼NSUserDefaults無法與Firebase配合使用

// let's say path is the route down to "users" in Firebase 
    @IBAction func loginPressed(sender: AnyObject) {   
    if let email = emailField.text where email != "", let password = passwordField.text where password != "" {    
     FIRAuth.auth()?.signInWithEmail(email, password: password, completion: { (user, err) in     
      if err != nil {      
       print(err)      
      } else {      
      NSUserDefaults.standardUserDefaults().setValue(user!.uid, forKey: "uid")      
      path.child("\(user!.uid)/category").observeSingleEventOfType(.Value, withBlock: { (snapshot) in 

      if let userCategory = snapshot.value as? String {       
       if userCategory == "seller" {        
        self.performSegueWithIdentifier(segueSellerVC, sender: self)        
       } else {        
        self.performSegueWithIdentifier(segueCustomerVC, sender: self)        
        } 
       }      
       })           
      }     
     }) 
    }  
} 

回答

2

斯威夫特3

保存

UserDefaults.standard.set(FIRAuth.auth()!.currentUser!.uid, forKey: "uid") 

UserDefaults.standard.synchronize() 

檢索

let storagePath = UserDefaults.standard.object(forKey: "uid") as? String 

夫特2

保存

NSUserDefaults.standardUserDefaults().setObject(FIRAuth.auth()!.currentUser!.uid, forKey: "uid") 

NSUserDefaults.standardUserDefaults().synchronize() 

檢索

let storagePath = NSUserDefaults.standardUserDefaults().objectforKey("uid") as? String 
0

夫特3

UserDefaults.standard.setValue(user!.uid, forKey: "uid") 
相關問題