我什么时候应该在 swift 中使用 anyObject insted of UIButton?

When should I use anyObject insted of UIButton in swift?

什么时候应该在swift中使用 UIButton 的 anyObject? 我正在为我的按钮制作一个 IBAction,它将用于完成比任务更多的任务,其中一个任务是切换到下一个视图。

说到底,真的无所谓了。

您可以选择使用(sender: AnyObject)的参数,也可以使用(sender: UIButton).

的参数

但是,如果您需要访问 UIButton.

提供的属性,有时您可能必须将 AnyObject 转换为 UIButton

例如,假设您有并且希望按钮在单击后消失。

func doSomething(sender: AnyObject) {
    let button: UIButton = sender as! UIButton
    button.hidden = true
}

为 IBAction 使用抽象 AnyObject 类型的目的可能有利于您有多个应触发相同操作的 UI 对象的情况。这方面的一个例子是,如果你想让一个按钮和一个手势识别器共享一个共同动作的功能。即使使用共享操作,两个对象也可能有不同的执行路径。