Swift Talk

A weekly video series on Swift programming.

#1 Networking 22:49

We explore an alternative approach to building the networking layer of an app. We make use of Swift's generics and structs to end up with simple, testable code.

#3 Loading View Controllers 21:50

Many view controllers have to load data asynchronously. We explore different options to factor out this code using protocols, container view controllers, and generics.

Subscribers-Only

Subscribers Only

#6 Generic Table View Controllers 19:42

We explore how Swift's generics can be used to create a simple, reusable table view controller. As a welcome side effect, this process helps us keep our view controller code clean.

Subscribers-Only

Subscribers Only

#8 Networking: POST Requests 18:40

We extend the networking code from the first episode to support POST requests. Besides using Swift's enums with associated values and generics, we get to implement a map function on a custom data type.

Subscribers-Only

Subscribers Only

#26 Generic Table View Controllers (Part 2) 23:30

We show how you can build a generic, type-safe table view controller that can display different types of items using multiple cell classes.

#27 Typed Notifications (Part 1) 17:52

We build a lightweight generic wrapper around Foundation's notification API. This allows us to abstract away common boilerplate code and to work with a type-safe interface.

Subscribers-Only

Subscribers Only

#28 Typed Notifications (Part 2) 18:02

We extend the typed notifications code from the last episode to custom notifications and discuss an alternative protocol-based approach.

Subscribers-Only

Subscribers Only

#30 Interfaces 16:07

We talk about the importance of types and interfaces as tools to express your intent precisely and to set the proper boundaries.

  1. Generics
  2. Architecture
  3. Types
December 30, 2016

#35 Sorted Arrays (Collections #3) 16:42

We look at extracting a sorted array type in order to increase code clarity. We'll also make it conform to Collection.

#39 From Futures to Signals (Reactive Programming #3) 23:45

We build upon the Future type of a previous episode to implement a simple reactive library. Along the way, we dive into debugging a reference cycle in our implementation.

Subscribers-Only

Subscribers Only

#52 Deleting Code with Swift 4 11:49

We look at how we can delete code we wrote in previous episodes by taking advantage of some of the new features in Swift 4.

#61 Mutable Shared Structs (Part 1) 30:10

We build an experimental data type that combines the advantages of both structs and classes. It allows shared mutable state while preserving the features of structs to make easy copies and observe changes.

#63 Mutable Shared Structs (Part 2) 22:59

We continue to experiment with our hybrid struct/class data type and incorporate the ability to add and remove more fine-grained observers.