質問: nil) { self.databaseRef.child("user_profiles").child(user!.user.uid).child("email").setValue(self.email.text!) self.performSegue(withIdentifier: "HandleViewSegue", sender: nil) } }) } }) } ``` swift ```
回答: if文の条件設定がおかしくないですか? ``` if (error == nil) { // errorがない時 // なのに、error code == 17999の時の条件が。。。 } else { // errorがある時 // なのにResistered Succesfullyと表示されるコードがありますが、、、 } ``` だと思います。printをうまく活用し print("条件分岐:errorなし")とかprint("条件分岐:errorあり")とかして、 どこにどの時流れてるかを確認してみて、正しく流れるように修正をして見ましょう。 ちなみにメールアドレスが登録済み・メールの書式の間違いは print("error codeは", error!._code, "です")を用いて // error!._codeの書き方は正しいかの確認もしてください。 コード番号をゲットして、17999と同様に条件分岐or switchで記載を。 パスワードが5文字以下・空文字を指定した場合に関しては、textFieldDelegateの textFieldDidEndEditingで5文字以下や空文字をチェックするようにすれば実現できると思います。 あ、その他にtextFieldにOutletを接続しているなら、このdidTapSignup内でもcheckできます。