Advanced Swift: Generics and Protocols
Apr 9 2019 · Video Course (41 mins) · Advanced
The generics system and protocols are the heart of the Swift language. Learn how it all fits together in this course.
5/5Version
- Swift 5, iOS 12, Xcode 10
Generics are a key feature in Swift, which, combined with protocols, let you build clean, reusable abstractions. Let's get started!
1What happens when you abstract across a type? Let's take a look at a simple generic type to find out.
2Generic Constraints
3:00Let's see how you can use protocol constraints to inform the type system about the capabilities of a type.
3Associated Types
8:22You know how to make structs, enum and classes generic. Learn how to make protocols generic using associated types.
4Challenge: Generics
4:24It's time for a challenge! Try to use your new knowledge of associated types to build a generic protocol.
5In this video, learn how you can add constraints to associated types. Now even specify them recursively.
6Find out how you can add additional API to a type depending on the capability of an associated type.
7In this challenge, let's put your knowledge of conditional conformance into action by adding API to a type.
8Conclusion
2:01Swift has one of the most powerful generic systems available that balances performance with ease of use.
9Who 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.
Covered concepts
This course focuses on:
- Parametric Polymorphism
- Protocols
- Generics
- Constraints
- Conformance
- Associated types
Comments