Как использовать две переменные let в операторе if в swift - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь закодировать оператор if для отображения текста на моем ярлыке, но я хочу использовать две переменные текстового поля.Это не показывает ошибки, но когда я нажимаю кнопку на симуляторе или устройстве, ярлык все еще отображается пустым.

Я только начинаю кодирование, поэтому я предполагаю, что он имеет простой ответ.

Вот моя кодировка:

   @IBOutlet var LblResult: UILabel!
   @IBAction func Calculate(_ sender: UIButton)
{
    let Variable1 = (Variable1.text! as NSString).floatValue 

  *//var 1 and 2 are text fields*

    let Variable2 = (Variable2.text! as NSString).floatValue

    if Variable1 > 15 && Variable2 < 30{
        LblResult.text = "TEXT"
    }
  }

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Вы можете попробовать это:

// Using a guard statement is a safe way to unwrap optionals
guard let text1 = Variable1.text else { return }
guard let text2 = Variable2.text else { return }

if (Float(text1) > 15) && (Float(text2) < 30) {
    LblResult.text = "TEXT"
}
0 голосов
/ 16 ноября 2018

Вы должны делать это так в Swift.

if let text1 = CGFloat(variable1.text!), let text2 = CGFloat(variable2.text!), text1 > 15, text2 < 30 {
    lblResult.text = "TEXT"
}

Несколько замечаний

  • переменные должны быть в lowerCamelCase .
  • text из UITextField можно принудительно развернуть.Они всегда возвращают как минимум "".
  • Используйте String вместо NSString в Swift.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...