【Swift】NiftyCloud - 新規登録/ログイン
完成図
(ユーザー名:パスワード=user : password)
解説
新規登録:NCMBUser.signUpInBackground
ログイン:NCMBUser.logInWithUsername(inBackground: ユーザー名, password: パスワード)
NCMBUesr.current() : ログイン中のユーザー(あなたが起動しているデバイスのユーザー)
新規登録の際、NCMBUserのプロパティ(userName,password)に入力した値がユーザー名、パスワードとなる。
ストーリーボード
ソースコード
「新規登録」
import UIKit import NCMB class SignUpViewController: UIViewController { @IBOutlet weak var userName: UITextField! @IBOutlet weak var passWord: UITextField! //viewDidLoad,viewWillAppear内でだと"whose view is not in the window hierarchy!"のエラーが発生 override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) //既にログインされてるならログイン画面へ遷移 if let _ = NCMBUser.current() { //ログイン画面へ遷移 performSegue(withIdentifier: "login", sender: nil) } else {} } @IBAction func signUP(_ sender: Any) { //ユーザー情報を保存 //NCMBUserのインスタンス let user = NCMBUser() //入力されなかった場合 if userName.text == "" || passWord.text == "" { return } //ユーザー名を登録 user.userName = userName.text //パスワードを登録 user.password = passWord.text //新規登録する user.signUpInBackground { (error) in if error != nil { print(error) } else { //ログイン画面へ遷移 self.performSegue(withIdentifier: "login", sender: nil) } } } }
「ログイン」
import UIKit import NCMB class SignInViewController: UIViewController { @IBOutlet weak var userName: UITextField! @IBOutlet weak var passWord: UITextField! @IBAction func login(_ sender: Any) { //入力されなかった場合 if userName.text == "" || passWord.text == "" { return } //ログインする NCMBUser.logInWithUsername(inBackground: userName.text, password: passWord.text) { (result,error) in if error != nil { print(error) } else { //遷移 self.performSegue(withIdentifier: "success", sender: nil) } } } }