【发布时间】:2016-08-17 06:58:03
【问题描述】:
我正在尝试在@IBAction 方法中使用开关,该方法与多个按钮挂钩
@IBAction func buttonClick(sender: AnyObject) {
switch sender.currentTitle {
case "Button1":
print("Clicked Button1")
case "Button2":
print("Clicked Button2")
default:
break
}
当我尝试上述方法时,我收到以下错误:
“字符串”类型的表达式模式无法匹配类型的值 “字符串?!”
【问题讨论】:
-
switch (sender as! UIButton).currentTitle {工作吗? -
@EdCottrell 您可以直接在 Swift 中比较字符串,因为像
==这样的测试测试是否相等,而===测试对象是否是相同的确切对象。 -
@EdCottrell 是的,以前用过,出于某种原因,我觉得开关会更干净,所以尝试一下。
-
我只是给它们添加不同的标签值而不是读取它们的可选标题
-
如果您对
String?!中的!的来源感兴趣,请查看stackoverflow.com/questions/33388830/…。
标签: ios swift types switch-statement pattern-matching