如何在交换机中检查UIButton的currentTitle?
问题描述:
我有一个UIButton在不同情况下改变标题。 如果按下按钮,应该用Swift Switch(并执行某个代码)检查currentTitle。如何在交换机中检查UIButton的currentTitle?
下不工作:
@IBAction func button(_ sender: UIButton) {
switch sender.currentTitle {
case "":
//Code
case "OK":
//Code
default:
}
}
Xcode的只是显示“预期模式”(第一原因)和“预期的表达”(第二种情况)
答
我加入的问题意外地解决了这个问题,标志着
@IBAction func button(_ sender: UIButton) {
switch sender.currentTitle {
case ""?:
//Code
case "OK"?:
//Code
default:
break
}
}
我不知道为什么,但它帮助工作仍然感谢我。
答
根据说明书,UIButton.currentTitle
的类型为String?
。 (可选类型字符串)
您的switch
语句将可选类型与非可选类型进行比较,这是您看到错误的原因。
检查它与前值建议首先展开了价值switch
,如:
guard let title = sender.currentTitle() else { return }
switch title {
...
}
其实这个代码将不会导致'预计Expression'错误。 – vadian
重要的是要确保在每个'case'和'default'下有一些可执行语句。 “break”或“return”也可以工作 – Dopapp