1
私はまだ実際には選択肢の周りを頭で囲んでいます。 いくつかのtextFieldを記入することができないユーザーフォームが作成されています(ユーザーの姓または名字)。テキストフィールド入力のオプション
私の思考、それは次のように処理する必要がありますされています
@IBAction func signUpButtonTapped(sender: AnyObject) {
// Get information from register form
let userEmail: String
let userPassword: String
let userPasswordRepeat: String
let userFirstName: String?
let userLastName: String?
guard let email = userEmailAddressTextField.text,
let password = userPasswordTextField.text,
let passwordRepeat = userPasswordRepeatTextField.text else {
return
}
userEmail = email
userPassword = password
userPasswordRepeat = passwordRepeat
if let firstName = userFirstNameTextField.text, let lastName = userEmailAddressTextField.text {
userFirstName = firstName
userLastName = lastName
}
// Check if password is the same when registering
if (userPassword != userPasswordRepeat) {
displayAlertViewController(title: "Alert", message: "Passwords do not match")
return
}
// If email, password, first name or last name is missing display alert
if(userEmail.isEmpty || userPassword.isEmpty) {
displayAlertViewController(title: "Alert", message: "All fields need to be filled in.")
return
}
}
しかし、それはuserFirstNameとuserLastNameが使用されることはありませんことを、私に語りました。私の質問は次のとおりです:
オプションバインディングを使用して割り当てた場合、なぜ使用されませんか?これはテキストフィールドのデータを解析する正しい方法ですか、このコードを合理化するにはどうすればよいですか?
多分私は何かが足りない...しかし、午前私はこれを行うだろうというとき: 'userFirstName = userFirstNameTextField.text 'ユーザーが名前をつけると、まだアンラップされた文字列です。 – sesc360
だから私はオプションのバインディングを使用して値をアンラップする必要があると思った。 – sesc360
@ sesc360この回答をチェックしてくださいhttp://stackoverflow.com/questions/24003642/what-is-an-optional-value-in-swift –