我是Swift
的新手,我正在做一个简单的计算器,我不想检测被按下的按钮,我的代码如下。
@IBAction func ButtonTapped(TheButton : UIButton){
println(TheButton.titleLabel.text)
}
但是它显示了像"UILabel? Does not have a member a named text"
这样的错误
它告诉我像这样修改代码
println(TheButton.titleLabel?.text)
这将打印Optional("1")
(1是我的按钮名称)
因此任何人都可以帮助我为什么会发生这种情况,以及如何在没有可选选项的情况下打印我的按钮名称?
发布于 2014-09-27 19:43:25
如果您确定titleLabel
不是nil
println(TheButton.titleLabel!.text)
否则
if let text = TheButton.titleLabel?.text {
println(text)
}
发布于 2015-02-20 02:08:38
更简单地说,你可以这样做:
let titleValueString = TheButton.currentTitle!
如果按钮的标题不是nil,感叹号(!
)将隐式展开可选的(不带感叹号的currentTitle),并且您将在常量titleValueString
中获得按钮标题的字符串值
发布于 2016-05-22 11:53:05
最上面的答案不再有效。以下是Swift 2.2的更正版本:
如果您确定titleLabel不是nil:
print(TheButton.titleLabel!.text!)
如果您不是:
if let text = TheButton.titleLabel?.text {
print(text)
}
https://stackoverflow.com/questions/26074239
复制相似问题