Doug Richardson
Doug Richardson

Reputation: 10811

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

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?

Upvotes: 63

Views: 24473

Answers (2)

Doug Richardson
Doug Richardson

Reputation: 10811

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)
}

Upvotes: 93

Nilesh Patel
Nilesh Patel

Reputation: 6394

AnyObject

Other mapping type,

Remap certain Objective-C core types to their alternatives in Swift, like NSString to String

Remap certain Objective-C concepts to matching concepts in Swift, like pointers to optionals

Upvotes: 0

Related Questions