Inside methods you get a special constant called self
, which points to whatever instance of the struct is currently being used. This self
value is particularly useful when you create initializers that have the same parameter names as your property.
For example, if you create a Person
struct with a name
property, then tried to write an initializer that accepted a name
parameter, self
helps you distinguish between the property and the parameter – self.name
refers to the property, whereas name
refers to the parameter.
Here’s that in code:
struct Person {
var name: String
init(name: String) {
print("\(name) was born!")
self.name = name
}
}
SPONSORED Alex is the iOS & Mac developer’s ultimate AI assistant. It integrates with Xcode, offering a best-in-class Swift coding agent. Generate modern SwiftUI from images. Fast-apply suggestions from Claude 3.5 Sonnet, o3-mini, and DeepSeek R1. Autofix Swift 6 errors and warnings. And so much more. Start your 7-day free trial today!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.