从按钮获取值

时间:2014-11-06 01:15:22

标签: swift

我有一系列按钮都包含随机生成的字母(即按钮1是Z,按钮2是X ......等等)。当用户点击按钮时,我想获取该按钮的值并创建一个带有该值的新标签。

这是我现在的代码

@IBAction func zeroB(sender : UIButton) {
    buttonPress(sender) // highlight the button
    var label = UILabel(frame: CGRectMake(0, 0, 250, 50))
    label.text = "\(sender.currentTitle))"
    label.font = UIFont.systemFontOfSize(26)
    letterView.addSubview(label)
}

它会创建一个标签,但标签中的文字显示为Optional("Z"))

我错过了什么?

我应该补充一点,我对iOS编程完全陌生。我正在制作一个自学的应用程序。

感谢。

2 个答案:

答案 0 :(得分:3)

由于currentTitle的{​​{1}}是可选字符串,因此您将获得UIButton部分。

如果您知道标题已设置为非Optional(...)字符串,请使用感叹号打开它:

nil

这会在标签中产生label.text = "\(sender.currentTitle!))" (我假设额外的右括号是一个错字,你实际上想要它在你的标签的标题中)。如果您不想在标题后面添加额外的括号,请使用

Z)

答案 1 :(得分:3)

当前标题是可选的。您可以通过以下两种方式之一提取可选项:

1)

let labelText =  sender.currentTitle!
label.text = labelText

或2)

if let labelText = sender.currentTitle {
    label.text = labelText
}