Swift version: 5.10
Nested types – i.e. nested structs and nested classes – are a useful way of organizing your code, and perhaps even restricting what others can do with it. In essence, a nested type is just one data type defined inside another, like this:
struct Deck {
struct Card {
}
}
Now rather than creating a new Card
struct you would instead create a new Deck.Card
because one is inside the other.
This approach is useful for organizing larger applications, because you might need custom types that are applicable only in certain places – exposing them elsewhere might cause problems.
If you want to re-enforce this, Swift lets you mark the inner type (Card
above) as being private, which means it can only be used inside the Deck
class – code from outside Deck
can’t even see it.
SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure and A/B test your entire paywall UI without any code changes or app updates.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 8.0 – learn more in my book Pro Swift
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.