快速-如果用户输入1到100,则显示随机消息

时间:2018-09-12 01:21:53

标签: swift random type-conversion

我有一组随机消息,并且仅当用户输入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 :(得分:1)

您首先必须将输入的文本转换为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
    }
}

还请注意,除非您确实需要,否则没有理由获得随机消息。

答案 1 :(得分:0)

也许您可以查看文本是否大于或等于1且小于或等于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
    }
}