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+

Versioning Codable data

20:15

INTERMEDIATE SWIFT

Versioning Codable data

Codable is the fastest and easiest way to store Swift objects, but what happens when your data types need to evolve to add extra information? In this tutorial I’ll show you the traditional way this is solved, and also a different version that I find significantly easier to use.  Continue Reading >

Runtime reflection with Mirror

23:33

ADVANCED SWIFT

Runtime reflection with Mirror

Runtime reflection allows us to query objects as our code runs, meaning that we can read data without knowing ahead of time what’s there. In this tutorial we’ll look at potential uses for this approach, including how it’s used by Swift itself.  Continue Reading >

Simple SwiftUI, part 1: SimpleToDo and SimpleScores

1:45:22

LIVE STREAMS

Simple SwiftUI, part 1: SimpleToDo and SimpleScores

In this article we’re going to build two simple SwiftUI projects back to back, as part of a new initiative to create easily accessible sample projects for learners.  Continue Reading >

Making projects and items feel at home on the Mac

23:09

ULTIMATE PORTFOLIO APP

Making projects and items feel at home on the Mac

Now we need to turn our eyes to the first significant piece of work porting to macOS: adjusting the Open and Closed tabs so they look and work better on macOS. This means adding some Mac-only modifiers and views, but it gives us a big step forward as you’ll see.  Continue Reading >

Drink up!

1:20:17

LIVE STREAMS

Drink up!

In this article we’re going to build an app to track how much water the user has consumed today, then tie it into a widget so they place a gentle reminder right on their Home Screen.  Continue Reading >

Animating lightning bolts

39:22

REMAKING APPS

Animating lightning bolts

It’s time for us to build one of the most eye-catching effects in the weather app: the fantastic bolts of lightning that arc down, fork off randomly, and really add some drama to stormy days. This is going to be good…  Continue Reading >

Cleaning up Awards

10:15

ULTIMATE PORTFOLIO APP

Cleaning up Awards

To kick off the process of cleaning up our code to work well on macOS, we’re going to tackle the easiest one of our views: Awards. This means fixing up its navigation and button styles so it looks and feels great on Mac.  Continue Reading >

List Buddy

54:14

LIVE STREAMS

List Buddy

In this article we’re going to build a command line utility using Apple’s excellent Argument Parser library. The app we’ll build sorts lists of data in various ways – it’s a nice and simple project that allows us to focus firmly on Argument Parser.  Continue Reading >

Moving over to macOS

30:37

ULTIMATE PORTFOLIO APP

Moving over to macOS

Here’s where things start to get really interesting: taking the code we wrote and making it cross-platform. We’ll ultimately be porting to macOS, tvOS, and watchOS, but no matter which platform you want to build for you’ll need to follow this part as we do a bunch of important set up work.  Continue Reading >

Cleaning up CloudKit, part 3

20:53

ULTIMATE PORTFOLIO APP

Cleaning up CloudKit, part 3

The last part of cleaning up CloudKit involves upgrading our Awards to include chat messages, updating our localization to include all the new UI we’ve added, and fixing a small SwiftUI bug – just enough to leave CloudKit in good shape before we move on.  Continue Reading >