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+
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >