I'm trying to use a switch in an @IBAction
method, which is hooked to multiple buttons
@IBAction func buttonClick(sender: AnyObject) {
switch sender.currentTitle {
case "Button1":
print("Clicked Button1")
case "Button2":
print("Clicked Button2")
default:
break
}
When I try the above, I get the following error:
Expression pattern of type 'String' cannot match values of type 'String?!'
currentTitle
is an optional so you need to unwrap it. Also, the type of sender
should be UIButton
since you are accessing the currentTitle
property.
@IBAction func buttonClick(sender: UIButton) {
if let theTitle = sender.currentTitle {
switch theTitle {
case "Button1":
print("Clicked Button1")
case "Button2":
print("Clicked Button2")
default:
break
}
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With