Swift Talk

A weekly video series on Swift programming.

Subscribers-Only

Subscribers Only

#32 Array, ArraySlice & Collection (Collections #1) 15:16

We show how to make an extension on array available to other collections: first, we implement it for array slices, then we implement it as a protocol extension for all collections.

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

#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

#69 Reactive Data Structures: Arrays 30:55

We build a reactive array type on top of the reactive list from episode #67 and implement a filter method.

  1. Collections
  2. Reactive
  3. Structs
  4. Types
September 29, 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
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.

#33 Sequence & Iterator (Collections #2) 16:54

We continue to make the collection extension from the last episode more generic: we implement it on the Sequence protocol and discuss infinite sequences in the process.

#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.

#55 Sorted Arrays with Binary Search 26:51

Károly joins us to improve our sorted array implementation from episode #35 using binary search. We benchmark both implementations to learn about their real-world performance.

Subscribers-Only

Subscribers Only

#70 Table View Animations with Reactive Arrays 15:26

We use the reactive array type from episodes #67 and #69 to back a table view. This allows us to correctly animate changes in the underlying data, even with filter and sort transformations applied.

#71 Type-Safe File Paths with Phantom Types 24:14

Brandon Kase joins us to show how Swift's type system can be leveraged to check file paths at compile time.