Допустимое число между двумя числами в текстовом поле - PullRequest
0 голосов
/ 09 ноября 2019

Допускается ввод только действительного числа между x и y. И отображать сообщение об ошибке, если введен неверный номер.

Я возился с некоторыми утверждениями if и поместил упомянутые числа x и y в диапазон, но я не знаю, как заставить это работать и отображать этоНапример, в in скажем метку.

Я ожидаю, что вывод будет отображаться в метке, когда в текстовое поле введено правильное число, когда нажата кнопка. И ошибка отображается в метке при вводе недопустимого номера при нажатии кнопки.

Ответы [ 2 ]

0 голосов
/ 09 ноября 2019

Вы можете достичь этого с помощью нескольких способов. Следующее может быть лучшим способом войти в это.

func validateNumber() {
     yourLbl.text = checkNumber(startNumber: 10, endNumber: 20, numberToCheck: 11)
}

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

func checkNumber(startNumber: Int, endNumber: Int, numberToCheck: Int) -> String {
    //WITH THE HELP OF `~=` operator
    if startNumber...endNumber ~= numberToCheck {
        return "\(numberToCheck) is within the range of \(startNumber)-\(endNumber)"
    } else {
        return "\(numberToCheck) is not within the range of \(startNumber)-\(endNumber)"
    }

    //WITH THE HELP OF .contains mathod
    if (startNumber...endNumber).contains(numberToCheck) {
        return "\(numberToCheck) is within the range of \(startNumber)-\(endNumber)"
    } else {
        return "\(numberToCheck) is not within the range of \(startNumber)-\(endNumber)"
    }

    //WITH THE HELP OF switch statement
    switch numberToCheck {
    case startNumber...endNumber:
        return "\(numberToCheck) is within the range of \(startNumber)-\(endNumber)"
    default:
        return "\(numberToCheck) is not within the range of \(startNumber)-\(endNumber)"
    }

    //WITH THE HELP OF if statement
    if case startNumber...endNumber = numberToCheck {
        return "\(numberToCheck) is within the range of \(startNumber)-\(endNumber)"
    } else {
        return "\(numberToCheck) is not within the range of \(startNumber)-\(endNumber)"
    }
}
0 голосов
/ 09 ноября 2019

проверить, содержит ли диапазон значение в Swift

1. Оператор сопоставления с образцом ~ =

 func validateRange(_ value : Int) {
    if 2..<50 ~= value {
        //in range
    } else {
        // displayLabel.text = "Error message"
    }
}

2. Содержит метод

func validateRange(_ value : Int) {

    if (2..<50).contains(value) {
       //in range  
    } else {
        // displayLabel.text = "Error message"
    }

}

Пример:

@IBAction func tappedOnOkButton(_ sender: Any) {

   if let value = Int(numberTextField.text) {
      validateRange(value)
   } else {
      // error 
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...