1
サインイン後にデータベースからいくつかの文字列を取得しようとしていますが、コードがすべて実行されることはありません。ここでそれは以下の通りです:データの取得Firebase Swift 3
@IBAction func SignIn(_ sender: Any) {
FIRAuth.auth()?.signIn(withEmail: EmailTextField.text!, password: PasswordTextField.text!, completion: {
(user, error) in
if error == nil {
print("no error")
if let user = FIRAuth.auth()?.currentUser {
print("no error")
//if user.isEmailVerified == true {
let ref = FIRDatabase.database().reference()
let userID = FIRAuth.auth()?.currentUser?.uid
ref.child("users").child(userID!).observeSingleEvent(of: .value, with: { snapshot in
print("no error")
let snapDict = snapshot.value as? NSDictionary
let type = snapDict?["type"] as? String ?? ""
print(type)
})
//} else {
//error email isnt verified
//}
}
} else {
print(" error")
if let errCode = FIRAuthErrorCode(rawValue: error!._code) {
switch errCode {
case .errorCodeInvalidEmail: break
//invalid email
case .errorCodeUserNotFound: break
//user doesnt exist
case .errorCodeWrongPassword: break
//incorrect password
default: break
//error occured
}
}
}
})
}
print(タイプ)は印刷されませんが、それ以外はすべて印刷されます。なぜこれが起こっているのか分かりません。ユーザーを取得するときがありますが、データベースにデータを設定する際
が、これは完全に働いた、ありがとうございます。 –