我有一组随机消息,并且仅当用户输入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
}
}
答案 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
}
}