Я пытаюсь узнать Свифт и она оказывается более отличается от других языков, чем я ожидал ...Присвоение значения текстового поля к переменной в Swift
Я просто хочу, чтобы сохранить значение пользовательского ввода как целое число в переменной.
Мои попытки привести к следующей ошибке: «фатальная ошибка: неожиданно нашли ноль в то время как разворачивание необязательное значение»
Я попытался это несколькими способами, и не могу придумать решение, я знаю, должен быть простой способ сделать это.
var intNumber: Int = 0
@IBOutlet weak var txt_Number: UITextField!
for view in self.view.subviews as [UIView]{
if let txt = view as? UITextField
{
if let txtData = txt.text where txtData.isEmpty
{
// Error Message
}
else
{
intNumber = Int(txt_Number.text)
}
}
}
Я знаю, что приведенный выше код неправильный, но я думаю, что это самое близкое к правильному, что я пришел. Кажется, что мне что-то не хватает, пока не разворачивается. Я понимаю принцип развертывания, но ничто из того, что я пробовал, не скомпилируется, или если оно скомпилируется, то он не с ошибкой выше, когда код инициируется (код запускается при нажатии кнопки).
Благодарим вас за помощь!
Лучше сказать ему использовать 'intNumber = Int (txtData) ?? 0', поэтому мы можем предотвратить вопрос о дополнительной ошибке :). – Eendje
@Eendje - Согласен. Или используйте оператор 'guard', который соответствующим образом присваивает значение. – Rob