Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

When should I use anyObject insted of UIButton in swift?

When should I use anyObject insted of UIButton in swift? I am making an IBAction for my button that will be used to do more than on task on of the tasks is to switch to the next view.

like image 578
Wameedh Mohammed Ali Avatar asked Dec 25 '22 10:12

Wameedh Mohammed Ali


2 Answers

Ultimately, it really doesn't matter.

You can choose to use the parameter of (sender: AnyObject) or you can use (sender: UIButton).

There might be times however where you might have to cast AnyObject as a UIButton if you need access to the properties provided by UIButton.

For example let's say you have and you want the button to disappear after it is clicked.

func doSomething(sender: AnyObject) {
    let button: UIButton = sender as! UIButton
    button.hidden = true
}
like image 50
jasonnoahchoi Avatar answered Jan 09 '23 07:01

jasonnoahchoi


The purpose of using an abstract AnyObject type for an IBAction may be advantage for a situation in which you have multiple UI objects that should trigger the same action. An example of this would be if you wanted to have a button and a gesture recognizer share the functionality of a common action. Even with a shared action, it would be possible to have different execution paths for the two objects.

like image 39
SwiftMatt Avatar answered Jan 09 '23 07:01

SwiftMatt