什么时候我应该在 swift 中使用 anyObject 而不是 UIButton



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

最终,这真的无关紧要。

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

但是,如果您需要访问 UIButton 提供的属性,有时可能必须将AnyObject转换为UIButton

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

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

将抽象 AnyObject 类型用于 IBAction 的目的对于具有多个应触发相同操作的 UI 对象的情况可能是有利的。 例如,如果您希望按钮和手势识别器共享常见操作的功能。 即使使用共享操作,两个对象也可能具有不同的执行路径。

最新更新