What is the equivalent of an Objective-C id in Swift?

objective-c, swift

Solution

Swift 3

`Any`, if you know the sender is never `nil`.

@IBAction func buttonClicked(sender : Any) {
    println("Button was clicked", sender)
}

`Any?`, if the sender could be `nil`.

@IBAction func buttonClicked(sender : Any?) {
    println("Button was clicked", sender)
}

Swift 2

`AnyObject`, if you know the sender is never `nil`.

@IBAction func buttonClicked(sender : AnyObject) {
    println("Button was clicked", sender)
}

`AnyObject?`, if the sender could be `nil`.

@IBAction func buttonClicked(sender : AnyObject?) {
    println("Button was clicked", sender)
}

Problem

I'm trying to use an @IBAction to tie up a button click event to a Swift method. In Objective-C the parameter type of the IBAction is id. What is the equivalent of id in Swift?

Original source