我需要将按钮的文本与变量进行比较。
@IBAction func CheckifATrue(sender: AnyObject) {
if let thisbutton = sender.titleLabel.text {
if thisbutton == theAnswer.text {
score++
println("Correct")}
}
}
给我一个错误,迫使我放!!在titleLabel之后。我不能这样做,因为有可能(实际上 - 确定)按钮titleLabel将为零。为什么if let语句不让我解开?是否有另一种方法来拉取按钮文本,我可以安全地删除可选的if if let和only执行代码,如果有效?
答案 0 :(得分:1)
您需要将发件人的类型从AnyObject
更改为UIButton
,之后您可以这样解开:
@IBAction func CheckifATrue(sender: UIButton) {
if let thisbutton = sender.titleLabel?.text {
if thisbutton == theAnswer.text {
score++
println("Correct")}
}
}
答案 1 :(得分:0)
@IBAction func CheckifATrue(sender: AnyObject) {
let sender = sender as! UIButton
if let thisbutton = sender.titleLabel?.text {
if thisbutton == theAnswer.text {
score++
println("Correct")}
}
}
答案 2 :(得分:0)
谢谢大家! 这实际上是两者兼而有之。我需要将其更改为UIButton,然后将thisbutton =设置为sender.titleLabel,然后将ifbutmenet与thebutwer.text进行比较。发布解决方案,以防其他人在将来遇到此问题
@IBAction func checkifCTrue(sender: UIButton){
if let thisbutton = sender.titleLabel {
if thisbutton.text == secretAnsarrrrr.text {
score++
println("Correct")}
}}