我想制作一个按钮来计算不同的方程式。
我所拥有的是我在文本字段中输入的任何数字乘以7。
但是我想完全改变它:我想完全删除乘法函数。
如果用户输入1,则按下按钮只显示7 如果用户输入2,则按下按钮只显示8 如果用户输入3,则按下按钮只显示9
基本上将10个选项中的预设回复(用户将被要求输入1 - 10)并且我将在标签框中吐出相应的答案。
class ViewController: UIViewController {
@IBOutlet weak var CatAge: UITextField!
@IBOutlet weak var message: UILabel!
@IBAction func ButtonPressed(sender: AnyObject) {
var age = CatAge.text.toInt()
age = age! * 7
message.text = "Thats equal to \(age!) in cat years"
}
}
答案 0 :(得分:2)
如果我正确地阅读此内容,您只需要为其输入的内容添加6即可。在这种情况下,您的答案很简单:
@IBAction func ButtonPressed(sender: AnyObject) {
var age: Int = CatAge.text.toInt()!
age += 6
message.text = "Thats equal to \(age) in cat years"
}
否则,如果您正在寻找更依赖于实际输入内容的内容,您可能会寻找switch
statement,其类似于:
switch age {
case 1:
age = 7
case 2:
age = 10
case 3:
age = 15
case 4:
age = 22
case 5:
age = 27
case 6:
age = 33
case 7:
age = 40
case 8:
age = 46
case 9:
age = 51
case 10:
age = 60
default:
age = 0
}
答案 1 :(得分:1)
你可以用字典简单地做到这一点。
@IBAction func ButtonPressed(sender: AnyObject) {
let convert = [1:7, 2:8, 3:9, 4:10, 5:11, 6:12, 7:13, 8:14, 9:15, 10:16]
if let age = convert[CatAge.text.toInt() ?? 0] {
message.text = "Thats equal to \(age) in cat years"
} else {
message.text = "Invalid value"
}
}
如果有值,我使用 nil coalescing operator ??
安全地展开CatAge.text.toInt()
,否则如果文本字段为0
无法转换为Int
。如果文本字段包含不在字典中的Int
,则convert
中的查找将返回nil
。在这种情况下,可选绑定将失败,并且消息将为“无效值”。