2つの問題点
######①
**onError()**は書いていないのはなぜ? ↓
API
1class hogehoge { 2static func signIn(email: String, password: String, onSuccess: @escaping () -> Void, onError: @escaping (_ errorMassage: String?) -> Void) { 3 Auth.auth().signIn(withEmail: email, password: password) { (AuthDataResult, Error) in 4 if Error != nil { 5 print(Error!.localizedDescription) 6 return 7 } 8 onSuccess() 9 onError() <--これを書いていないのはなぜ? 10 } 11 } 12}
######②
エラーが出た時に、signViewControllerの**(error)**に値が入ると思うのですが、どこから値が渡されるのでしょうか? エラーが出た時にreturnで抜けて、APIのErrorの値がsignInViewControllerの(error)に勝手に入るのでしょうか?
##元のコード
API
1class hogehoge { 2static func signIn(email: String, password: String, onSuccess: @escaping () -> Void, onError: @escaping (_ errorMassage: String?) -> Void) { 3 Auth.auth().signIn(withEmail: email, password: password) { (AuthDataResult, Error) in 4 if Error != nil { 5 print(Error!.localizedDescription) 6 return 7 } 8 onSuccess() 9 } 10 } 11}
signInViewController
1@IBAction func signInButton_TouchUpInside(_ sender: Any) { 2 hogehoge.signIn(email: emailTextField.text!, password: passwordTextField.text!, onSuccess: { 3 self.performSegue(withIdentifier: "hogehoge", sender: nil) 4 }) { (error) in 5 print(error!.description) 6 } 7 }
すみませんが、よろしくお願いします。
開発環境
MacOS Mojave 10.14.1
Xcode 10.0
Swift 3.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/21 13:53 編集