Swift Talk

A weekly video series on Swift programming.

Subscribers-Only

Subscribers Only

#68 The Elm Architecture (Part 2) 24:59

We extend our Elm-style app with a more dynamic view hierarchy by adding a navigation controller and a table view.

Subscribers-Only

Subscribers Only

#66 The Elm Architecture (Part 1) 16:39

We refactor our reducer-based project from episode #62 to use The Elm Architecture. Instead of interacting with UIKit directly, we build a virtual view hierarchy and let our Elm framework do the rest.

Subscribers-Only

Subscribers Only

#64 Driving Table View Animations 30:24

We build a component similar to NSFetchedResultsController, but without the reliance on Core Data. This component can be reused whenever we need to drive table view animations.

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.

Subscribers-Only

Subscribers Only

#54 UI Elements with Callbacks 16:27

We refactor a declarative wrapper around stack views we wrote in episode #7. Instead of wrapping UI controls to provide an interface with callbacks, we write a dedicated target-action class.

#53 Test-Driven Reactive Programming at Kickstarter 38:47

This week Lisa joins us to demonstrate the test-driven approach to reactive programming taken at Kickstarter.

#51 Playground-Driven Development at Kickstarter 21:23

Brandon from Kickstarter is back to show us how the company uses playgrounds to prototype and style individual view controllers.

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

#47 View Models at Kickstarter 33:58

Brandon from Kickstarter joins us and shows how the company uses view models to write highly testable code. We integrate Apple Pay payments and look at Kickstarter's open-source codebase.

Subscribers-Only

Subscribers Only

#46 Combined Class and Protocol Requirements 15:59

We look at multiple ways to create variables that have a class type but also conform to a protocol.

  1. Classes
  2. UIKit
  3. Protocols
April 21, 2017

#43 View Controller Refactoring 16:52

We refactor some view controller logic while working on our upcoming tvOS app. Instead of letting multiple view controllers manage the navigation bar's state individually, we pull this code out and unify the logic in one place.

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.

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

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.

#5 Connecting View Controllers 20:14

We refactor our code by moving the app's flow from the storyboard into a separate class. Our goal is to manage the view controller flow from a central place so that view controllers don't have implicit knowledge of their context.

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