ギークなエンジニアを目指す男

基幹系SIerがWeb系とかネイティブ系の知識を蓄えようとするブログ

mBaasでログイン後の処理を実装してみる

こんばんは。

今日も仕事を頑張ってきました。

たぁです。

 

本日はログイン成功後の画面遷移を実装していきます。

 

前回作成したログイン画面

f:id:taxa_program:20160425233724p:plain

 

下記のようにログイン後処理を追加

  1. @IBAction func act_login(sender: AnyObject) {
  2.         
  3.         print(loginEmail.text)
  4.         print(loginPassword.text)
  5.         
  6.         // メールアドレスとパスワードでログイン
  7.         NCMBUser.logInWithMailAddressInBackground(loginEmail.text, password: loginPassword.text, block: ({(user, error) in
  8.             if (error != nil){
  9.                 // ログイン失敗時の処理
  10.                 print("login failure!")
  11.                 
  12.             }else{
  13.                 // ログイン成功時の処理
  14.                 print("login sucsess!")
  15.                 
  16.                 // Top画面へ遷移する
  17.                 // storyboardでレイアウトを作成している画面遷移は、下記が必須
  18.                 let storyboard = UIStoryboard(name: "Main", bundle: nil)
  19.                 // stoaryboardIDを設定
  20.                 let topViewController = storyboard.instantiateViewControllerWithIdentifier("TopViewController")
  21.                 
  22.                 // 遷移方式
  23.                 topViewController.modalTransitionStyle = UIModalTransitionStyle.CoverVertical
  24.                 self.presentViewController(topViewController, animated: true, completion: nil)
  25.             }
  26.         }))
  27.         
  28.         
  29.     }

 

そして見事に...

f:id:taxa_program:20160425233909p:plain

ログイン後の画面まで遷移してくれました!

大進歩!

 

ただ、少し躓いたところがあるので備忘。

AutoLayautoを使用して遷移先のViewを設定していたのですが、

下記エラーが頻発。

Probably at least one of the constraints in the following list is one you don't want.

Try this:

(1) look at each constraint and try to figure out which you don't expect;

(2) find the code that added the unwanted constraint or constraints and fix it.

(

    "<NSLayoutConstraint:0x7fd39589a5e0 UIView:0x7fd395896840.trailingMargin == UILabel:0x7fd3958969b0'Login Sucsess!'.trailing + 222>",

    "<NSLayoutConstraint:0x7fd39589a630 UILabel:0x7fd3958969b0'Login Sucsess!'.leading == UIView:0x7fd395896840.leadingMargin + 223>",

    "<NSLayoutConstraint:0x7fd39589a680 UILabel:0x7fd3958969b0'Login Sucsess!'.centerX == UIView:0x7fd395896840.centerX>"

)

 

Will attempt to recover by breaking constraint

<NSLayoutConstraint:0x7fd39589a5e0 UIView:0x7fd395896840.trailingMargin == UILabel:0x7fd3958969b0'Login Sucsess!'.trailing + 222>

 

なんでだろうとググってたら一つの回答を見つけました。

wayohoo.com

 

これを実践したらエラーは無くなりましたが、原因はよく分かっていません...

詳しい人教えてください。

 

今日はここまで。

 

 

P.S.

前回、ニフティクラウドのmBaasにメールアドレスが登録されないて言っていたんですが

アドレス認証したらちゃんと登録されました笑

f:id:taxa_program:20160425234356p:plain

 

前回記事はこちら↓

taxa-program.hatenablog.com