Как видите, объект text является необязательным, что означает, что он может иметь значение или иметь внутри него ноль.
Когда вы используете "bang""(восклицательный знак) вы принудительно распаковываете необязательное (вы уверены, что оно имеет значение, таким образом, никогда не потерпит крах).
Во избежание этого просто используйте условное связывание:
if let possibleValue = textField1.text {
// you can now safely use the possibleValue
}
else {
// There is no value inside the optional object
}
Кроме того, вы можете создать расширение для UITextField
, которое вместо записи if let
каждый раз, когда вам нужно просто использовать вычисляемую переменную для этого:
extension UITextField {
var doubleValue: Double {
return textField1.text == nil ? 1 : Double(textField1.text)
}
}
Примечание :
По умолчанию это строка "".
Конечно, приведенный выше фрагмент кода является лишь примером и может быть легко аварийно завершен, так что настройте его под свои нужды,Удачи