我有一系列按钮都包含随机生成的字母(即按钮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编程完全陌生。我正在制作一个自学的应用程序。
感谢。
答案 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
}