The Swift language constructs `self`, `Self`, and `Self.self` can be confusing, even for experienced developers.

🔹 `self` refers to the instance of the type within its own instance methods.
🔹 `Self` refers to the type that conforms to a protocol, allowing for polymorphic behavior.
🔹 `Self.self` is used to refer to the metatype of the type, essentially the type of the type itself.

You can read more on these constructs in my blog post: https://nilcoalescing.com/blog/UseCasesForSelfInSwift/

#Swift #iOSDev

Use cases for self, Self and Self.self in Swift

Explore the practical applications and distinctions of self, Self, and Self.self in Swift, clarifying their roles in instance referencing, protocol conformance, and metatype access.

Nil Coalescing
@natpanferova I was considering using swift, but this seems way to complex. I think I'll retire instead.