Advanced Swift 3

Learn techniques that let you write clearer code and hide complexity at little or no cost. Zero cost abstraction at its finest. By Ray Fix.

Leave a rating/review
Save for later
Comments
Share
01
Toggle description

In this video, learn what topics will be covered in the Advanced Swift 3 video course.

Toggle description

Swift protocols give all nominal types polymorphic behavior. This video compares class versus protocol based designs.

Toggle description

Swift gives you the ability to create your own operators with custom precedence. This video shows you how to tap into this power.

Toggle description

This video reviews generics and shows you how to make them more specific with protocol constraints.

Toggle description

This video takes a closer look at the difference between values and references and how it affects mutability.

Toggle description

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.

Toggle description

The Sequence protocol is foundational to standard library's collection data structures and algorithms. This video shows how to tap into this powerful system.

Toggle description

The Collection protocol provides capability over a simple Sequence. You gain additional functionality, and get access to more efficient implementations to standard algorithms.

Ranges 11:45
Toggle description

In this video you will learn about the Swift range types in detail and shows how they can be extended without repeating yourself.

Toggle description

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.

Toggle description

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.

Toggle description

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.

Toggle description

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.

Toggle description

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.

Toggle description

To use your custom types as dictionary keys or in sets, they need to be hashable. This video explores utilizing custom composable hash algorithms.

Conclusion 3:05
Toggle description

In this conclusion video, review what you've learned and check out resources for future learning.