Parse有提供一個專門的「用戶類」叫做PFUser是PFObject的一個子類,在用戶操作方面有額外寫了些功能。
PFUser有專門的屬性,username(必填),password(註冊時必填),email(選填)
用戶註冊的例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
@IBAction func registerTapped(sender: AnyObject) { let user = PFUser() user.username = self.accountTextField.text user.password = self.passwordTextFielt.text // 也可以自定義,如果Table中不存在,會自動創建 user["displayName"] = "Don" user.signUpInBackgroundWithBlock { (returnedResult, returnedError) -> Void in if returnedError == nil{ print("註冊成功") } else{ print("\(returnedError)") } } } |
用戶登入的例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
@IBAction func loginTapped(sender: AnyObject) { PFUser.logInWithUsernameInBackground(self.accountTextField.text!, password: self.passwordTextFielt.text!, block: {(user, error) -> Void in if(user != nil){ // 登入成功 print("登入成功") print("歡迎回來 \(PFUser.currentUser()?.username)") }else{ // 登入失敗 print("\(error)") } }) } |
獲取當前用戶的基本資料
將PFUser當作一個Dictionary,裡面的數據是key-value的形式,這邊我以print displayName為例子
1 2 |
let displayName = PFUser.currentUser()?.objectForKey("displayName") print("DisplayName: \(displayName)") |
判斷用戶是否登入
我們通過判斷PFUser.currentUser是否為nil來得知用戶是否已經登入
1 2 3 4 5 6 7 8 9 |
override func viewDidLoad() { super.viewDidLoad() if(PFUser.currentUser() == nil){ print("用戶尚未登入") }else{ print("當前登入的使用者為 \(PFUser.currentUser()?.username)") } } |
登出帳號
1 |
PFUser.logOut() |