2017-12-18 5 views
0

私は迅速かつ火災ベースの新です。しかし、私はGoogle LoginとFirebaseベースのメール/パスワード認証の両方を試みようとします。そして私はエラーが発生しました:期待される宣言。誰でも私を助けることを願っています。私はXcodeにGoogleのログインコードを追加する前に働いた。database.referenceを追加すると、なぜエラーが発生しましたか(Expected declaration)?

var currenUser: User? 

class ViewController: UIViewController, UITextFieldDelegate, GIDSignInUIDelegate { 


    @IBOutlet weak var emailTextField: UITextField! 
    @IBOutlet weak var passwordTextField: UITextField! 
    @IBOutlet var collectionTextField: [UITextField]! 

    var dbRef: DatabaseReference! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Google login 
     GIDSignIn.sharedInstance().uiDelegate = self 
     GIDSignIn.sharedInstance().signIn() 
    } 

    dbRef = Database.database().reference() 

     for textField in self.collectionTextField { 

      textField.delegate = self 

    } 

func loginAction(_ sender: Any) { 

    Auth.auth().signIn(withEmail: self.emailTextField.text!, password: self.passwordTextField.text!, completion: { 
      (user, error) in 

      if let error = error { 
       print("Sign in error: \(error.localizedDescription)") 
       return 
      } 

      self.dbRef.child("usersID").child(user!.uid).child("info").setValue(["email": user!.email]) 

      print("user logged in: \(String(describing: user?.displayName))") 

      self.performSegue(withIdentifier: "SignIn", sender: nil) 
     }) 
    } 

Error shown here

答えて

0

コードは、任意の関数のdbRef外を定義しているように見えます。おそらく、あなたはそのコードをviewDidLoad()に入れようとしましたか?

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Google login 
    GIDSignIn.sharedInstance().uiDelegate = self 
    GIDSignIn.sharedInstance().signIn() 


    dbRef = Database.database().reference() 

     for textField in self.collectionTextField { 
      textField.delegate = self 
     } 

} 
関連する問題