2016-04-15 32 views
0

私のアプリケーションに登録フォームがありますが、問題があります。ここに私のコードはあります:アプリケーションの登録フォーム

@IBAction func registerButtonAction(sender: AnyObject) { 
     if (fullnameTextField.text == ""){ 
      self.fullnameTextField.shake() 
     } 
     if (usernameTextfield.text == ""){ 
      self.usernameTextfield.shake() 
     } 
     if (usernameTextfield.text?.characters.count < 6){ 
      usernameTextfield.shake() 
     } 
     if (emailTextfield.text == ""){ 
      self.emailTextfield.shake() 
     } 
     if (passwordTextfield.text == ""){ 
      self.passwordTextfield.shake() 
     } 
     if (retypepasswordTextfield.text == ""){ 
      self.retypepasswordTextfield.shake() 
     } 
     else{ 
      registerButton.setTitle("Registering user...", forState: UIControlState.Normal) 
      registerButton.alpha = 0.20 
      registerButton.enabled = false 
      registerUser() 
     } 
    } 

最初に:私はこのコードを小さく簡単にすることはできますか?そして、第二に、すべてのUITextFieldにテキストがある場合は、ユーザーにはregisterUser()を開始してください。usernameTextFieldpasswordTextFieldには6以上の文字数があります。また、passwordTextFieldretypepasswordTextfieldはどのように修正するのですか?助言がありますか?

答えて

1

これは私の意見では少し優れている:

@IBAction func registerButtonAction(sender: AnyObject) { 
    let validInput = true 
    let allTextFields = [fullnameTextField, usernameTextfield, emailTextfield, passwordTextfield, retypepasswordTextfield] 
    for textField in allTextFields { 
     if textField.text == "" { 
      validInput = false 
      textField.shake() 
     } 
    } 

    let theTextFieldsWithMin6Characters = [usernameTextfield, passwordTextfield] 
    for textField in theTextFieldsWithMin6Characters { 
     if textField.text?.characters.count < 6 { 
      validInput = false 
      textField.shake() 
     } 
    } 
    if passwordTextfield.text != retypepasswordTextfield.text { 
     validInput = false 
     retypepasswordTextfield.shake() 
    } 

    if validInput { 
     registerButton.setTitle("Registering user...", forState: UIControlState.Normal) 
     registerButton.alpha = 0.20 
     registerButton.enabled = false 
     registerUser() 
    } 
} 
+0

'retypepasswordTextfield'テキストは、パスワードと6文字以上のように同じであっても、今、すべての時間を振ってます。.. –

+0

は、ブレークポイントを追加し、してみてくださいなぜそれが揺れているのか理解する。 – dasdom

+0

Erik Auranauneのように見えます!ありがとう皆さん:) –