Hacking with Swift+ Preview

You can browse through the latest tutorials below, or select a category from the left. Some videos in the categories are available for free, but most will be locked until you subscribe. When you subscribe, you'll get access to all these tutorials plus all new tutorials that get released.

Subscribe to Hacking with Swift+

SwiftData

23:25

SOLUTIONS

SwiftData

This challenge asks you to upgrade iExpense to use SwiftData, adding sorting and filtering at the same time. Let’s tackle it now…  Continue Reading >

Flash Math

1:38:26

LIVE STREAMS

Flash Math

In this stream we'll build an app I originally designed for my kids, to help them build confidence in mathematics. Along the way we'll meet a couple of great iOS 17 APIs, explore styling in SwiftUI, and more!  Continue Reading >

Navigation

11:31

SOLUTIONS

Navigation

This challenge asks you to switch both iExpense and Moonshot over to using what you've learned about navigation. Let’s tackle it now…  Continue Reading >

Share a Meal

1:43:05

LIVE STREAMS

Share a Meal

In this stream we'll build an app to locate food banks near to users, so they can donate needed items. This uses an external API that's a little bit inconsistent, so we'll need to explore Codable alongside maps, networking, and more.  Continue Reading >

iTour

31:19

SOLUTIONS

iTour

In my book SwiftData by Example we build a complete introductory project with SwiftUI and SwiftData. At the end I lay out three challenges to help you build your skills further, and we'll solve them here – then go on to solve five bonus challenges too!  Continue Reading >

Scroll Sampler

52:16

LIVE STREAMS

Scroll Sampler

In this stream we’re going to build something unusual, something powerful, and something fun all at once: it’s a development tool that helps you experiment with one of the powerful new iOS 17 APIs.  Continue Reading >

Pointers

45:28

LIVE STREAMS

Pointers

In this stream we’re going to build a remarkably simply app that still solves a real-world problem: a sentence builder for non-verbal people.  Continue Reading >

Condensing data down to a single value with reduce()

26:20

FUNCTIONAL PROGRAMMING

Condensing data down to a single value with reduce()

In this article we’re going to look at the reduce() function, which allows us to boil down multiple values to a single value as a way of summing up or summarizing a sequence.  Continue Reading >

Joggle

1:27:46

LIVE STREAMS

Joggle

In this stream we’re going to build a two-player word game where players must make unique words using the same grid – it doesn’t take much to get started, but getting it polished is trickier!  Continue Reading >

How to create Metal shaders for SwiftUI, part 1

27:41

ADVANCED SWIFTUI

How to create Metal shaders for SwiftUI, part 1

From iOS 17 onwards, we can dynamically adjust any SwiftUI views using Metal shaders. I’m going to show you how to do it, but not just how to apply them – I’m going to show you how to write your own shaders using Metal shading language! In this first article I’ll introduce how shaders work, along with some fundamental data types and a handful of Metal functions.  Continue Reading >