Какой самый простой способ добавить значение двух текстовых полей, чтобы равняться сумме метки - PullRequest
0 голосов
/ 30 апреля 2018

Какой самый простой способ добавить значение двух textField, равное сумме метке.
Вот текстовые поля и метка, которую я использую:

@IBOutlet weak var f1TextField: UITextField!
@IBOutlet weak var f2TextField: UITextField!

@IBOutlet weak var speedLabel: UILabel!

Я хочу добавить f1TextField с помощью f2TextField и показать результат в "speedLabel".

Ответы [ 4 ]

0 голосов
/ 30 апреля 2018

Этот код будет выполняться, даже если одно из текстовых полей пустое или число не введено внутри, и заменит недопустимые поля на 0

speedLabel.text = "\((Double(f1TextField.text ?? "0.0") ?? 0.0) + (Double(f2TextField.text ?? "0.0") ?? 0.0))"
0 голосов
/ 30 апреля 2018

Проще всего, если он содержит текст или нет.

speedLabel.text = "\(f1TextField.text)\(f2TextField.text)"
    print(speedLabel.text)
0 голосов
/ 30 апреля 2018

Если у вас есть номера, используйте это:

if let num1 = Double(f1TextField.text!), let num2 = Double(f2TextField.text!) {
    speedLabel.text = "\(num1 + num2)"
}
0 голосов
/ 30 апреля 2018

Вы можете использовать функциональность Swift следующим образом:

if let textField1String = textField1.text, let textField2String = textField2.text {
    let arr = [textField1String, textField2String]
    let result = arr.compactMap({ Int($0) }).reduce(0, +) //Cast in Int value + using reduce to sum all the values of array
    speedLabel.text = "\(result)"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...