When should I use anyObject insted of UIButton in

2019-05-13 16:52发布

问题:

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.

回答1:

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
}


回答2:

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.