Swift Talk

A weekly video series on Swift programming.

#7 Stack Views with Enums 21:43

Stack Views are great for prototyping. To make them even easier to set up in code, we create an abstraction using enums to specify UI elements in a declarative style.

#45 Server-Side Swift: Routing 22:47

We build the basic routing infrastructure to map paths to the code that should handle a particular request. We take a different approach than most web frameworks in an attempt to make the code type safe and more at home in Swift.

  1. Parsing
  2. Server
  3. Enums
April 14, 2017

#49 Deep Linking at Kickstarter 27:11

Brandon from Kickstarter joins us to discuss deep linking into an iOS app. We show how to unify all potential entry points into the app using a common route enum, and then we take a look at this pattern in Kickstarter's open source codebase.

Subscribers-Only

Subscribers Only

#56 Binary Search Trees 27:00

In this episode, we implement a binary search tree as an alternative to the sorted array from the last episode. We benchmark the performance of insertion and lookup in both data structures, with some surprising results.

Subscribers-Only

Subscribers Only

#58 Red-Black Trees 31:51

Building on the binary search tree code from episode #56, we implement red-black trees as self-balancing tree data structures and benchmark their performance.

Subscribers-Only

Subscribers Only

#62 Testable View Controllers with Reducers 31:00

We show how the reducer pattern can be used to make typical view controller code more testable.

#65 Playground QuickLook for Binary Trees 27:58

We create a custom Quick Look extension to visualize binary tree structures in playgrounds.

  1. Algorithms
  2. Trees
  3. Enums
September 1, 2017

#67 Reactive Data Structures: Linked Lists 25:58

We build a reactive linked list on top of reactive programming primitives. We implement a reduce method on this type, which does the minimum amount of work when the underlying data changes.

  1. Enums
  2. Collections
  3. Reactive
  4. Types
September 15, 2017