2016-09-18 19 views
0

私はちょうどXcode8に私のXcodeを更新したと私はここにサインイン機能で迅速な3スウィフト3(スウィフトとFirebaseプロジェクト)

にプロジェクトを変換したへの変換:私は

Firth. Auth()?.signIn(withEmail: self.EmailTF.text!, password: self.PasswordTF.text!, completion: { (user: FIRUser?, error: NSError?) in 
         if let error = error { 
          print(error.localizedDescription) 
         } else { 

          self.ref.child("UserProfile").child(user!.uid).setValue([ 
           "email": self.EmailTF.text!, 
           "name" : self.NameTF.text!, 
           "phone": self.PhoneTF.text!, 
           "city" : self.CityTF.text!, 
           ]) 
          print("Sucess") 

         } 
        }) 

このエラーが発生しました:

cannot convert value of type '(FIRUser?, NSError?) ->()' to expected argument type 'FIRAuthResultCallback?' 

swift 3での置き換えについて教えてください。

答えて

3

だけでそれを置き換える: -

FIRAuth.auth()?.signIn(withEmail:self.EmailTF.text!, password: self.PasswordTF.text!, completion: { (user, err) in 
     if let error = err { 
         print(error.localizedDescription) 
        } else { 

         self.ref.child("UserProfile").child(user!.uid).setValue([ 
          "email": self.EmailTF.text!, 
          "name" : self.NameTF.text!, 
          "phone": self.PhoneTF.text!, 
          "city" : self.CityTF.text!, 
          ]) 
         print("Sucess") 

        } 
    }) 
+0

は表記を末尾に使用することができます。これにより、読みやすくなります。 '.signIn(withEmail:" dasd "、パスワード:" qwewqe "){...}' https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Closures.html#// apple_ref/doc/uid/TP40014097-CH11-ID102 – BennX

+0

大変ありがとうございました!リンクをチェックします。 – Mariah

+0

@Mariahいいえ、これはうまくいくはずです@BennXあなたはここで何を正確に言おうとしていますか? 'completionBlocks:'を使うには?どこ?これはあらかじめ定義されたFirebase Auth機能です。申し訳ありません私はちょうどあなたを取得していません..詳細を教えてください – Dravidian