In this video, learn what topics will be covered in the Advanced Swift 3 video course.
Swift protocols give all nominal types polymorphic behavior. This video compares class versus protocol based designs.
Swift gives you the ability to create your own operators with custom precedence. This video shows you how to tap into this power.
Protocols and Generics
This video reviews generics and shows you how to make them more specific with protocol constraints.
Values and References
This video takes a closer look at the difference between values and references and how it affects mutability.
Swift collections have value semantics and good performance because they are implemented with copy-on-write. This video shows how to do this for your own types.
The Sequence protocol is foundational to standard library's collection data structures and algorithms. This video shows how to tap into this powerful system.
The Collection protocol provides capability over a simple Sequence. You gain additional functionality, and get access to more efficient implementations to standard algorithms.
In this video you will learn about the Swift range types in detail and shows how they can be extended without repeating yourself.
Types as Documentation
The type system can prevent all kinds of usage errors and bugs from sneaking into your code. Learn to make compiler errors your friend and prevent problems at runtime.
ARC with Objects
Swift uses Automatic Reference Counting to determine when it can release memory. Learn when to use unowned and weak to prevent reference cycles and lost memory.
ARC with Closures
As reference types, closures face the same challenges that classes do when it comes to memory management. Use weak and unowned with closure captures to prevent leaks.
Unsafe Memory Access
By default, Swift is memory safe; it prevents access to uninitialized raw memory. Learn how to circumvent this safety when interfacing with an unsafe language or gain performance.
A hallmark of production-ready code is good error handling. Learn about the types of error handling Swift has to offer and when and how to use each.
To use your custom types as dictionary keys or in sets, they need to be hashable. This video explores utilizing custom composable hash algorithms.
In this conclusion video, review what you've learned and check out resources for future learning.