Swift - если пользователь вводит от 1 до 100, отображается случайное сообщение - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть массив случайных сообщений, и я хочу отображать одно из этих сообщений как вывод, используя метку, и только если пользователь вводит от 1 до 100, поэтому, когда пользователь вводит от 1 до 100 и нажимает кнопку, метка должнасгенерировать одно из этих случайных сообщений.

Мой код:

@IBOutlet weak var outputLabel: UILabel!

@IBOutlet weak var inputTextField: UITextField!


let arrayMessages = ["message 1", "Message 2", "Message 3", "Message 4", "Message 5"]
let numberRange = 1...100



@IBAction func generateButton(_ sender: UIButton) {

    let random = Int(arc4random_uniform(UInt32(arrayMessages.count)))
    let output = arrayMessages[random]

    if (inputTextField.text == numberRange){
        outputLabel.text = output
    }
}

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Возможно, вместо того, чтобы делать диапазон номеров, вы можете видеть, больше или равен текст один или меньше или равен 100.

@IBOutlet weak var outputLabel: UILabel!

@IBOutlet weak var inputTextField: UITextField!


let arrayMessages = ["message 1", "Message 2", "Message 3", "Message 4", "Message 5"]

@IBAction func generateButton(_ sender: UIButton) {

    let random = Int(arc4random_uniform(UInt32(arrayMessages.count)))
    let output = arrayMessages[random]


    if (Double(inputTextField.text!) >= 1 && Double(inputTextField.text!) <= 100){
        outputLabel.text = output
    } else {
       // Number is less than 1 or greater than 100
    }
}
0 голосов
/ 12 сентября 2018

Сначала необходимо преобразовать введенный текст в Int.Затем вам нужно проверить, содержит ли диапазон это число.

@IBAction func generateButton(_ sender: UIButton) {
    if let num = Int(inputTextField.text!), numberRange.contains(num) {
        let random = Int(arc4random_uniform(UInt32(arrayMessages.count)))
        let output = arrayMessages[random]
        outputLabel.text = output
    } else {
        // Not a valid number or the number isn't in range
    }
}

Также обратите внимание, что нет причин получать случайное сообщение, если оно вам действительно не нужно.

...