This is part of the Advanced Swift learning path. View path.
Who is this for?
This course is for developers interested in getting a deeper understanding of the Swift language. It expects you to be comfortable with the basic syntax of Swift and to have perhaps written an app or two. You should be familiar with basic types in the Swift standard library.
This course focuses on:
- Phantom Types
- Custom operators
- Range operators
The primary way that you solve problems in Swift is using the type system. Explore what a type is in this video.
Just as you "eat your vegetables", you should implement equality. Thanks to Swift automatic conformance this is usually easy but there are some caveats.
Hashable also gets automatic conformance in many cases. Find out what to watch out for in this video.
Using phantom types is a great, light-weight way to prevent run time errors. Learn what phantom types are and how to use them.
The best way to prevent getting into an invalid state is by making it unrepresentable. You will do just that in this challenge.
A powerful feature of Swift is its ability to define custom operators. This great power demands great responsibility.
Are you ready to make a custom operator of your own? Get practice creating a custom range operator in this challenge.
Building small custom abstractions is a great way to solve complex problems in an elegant way. Start applying these methods in your code base today.