Welcome to the 100 Days of Swift! This is a free collection of videos, tutorials, tests, and more, all drawn from around my existing work here on Hacking with Swift, and all designed to help you learn Swift.
It’s aimed squarely at beginners who want to learn to build real iOS apps, but struggle to find a good, free course that can help them achieve their goals. If that’s you, welcome – I hope you’re ready to show the iOS world what you’re made of!
PS: If you have questions, ask me – I’m here to help!
If you want to make a success of this course, there are only two rules:
I’ll be providing all the material you need to follow along, so all you need to do is show up ready to learn.
I’ve met so many who have tried and failed Swift, often multiple times, and if you’re here there’s a good chance you’ve already had a few false starts already.
Not this time. This time you’re going to learn it for real, and in just 100 days you’ll have built several full apps that you can be proud of.
You’ve already read the two rules of these 100 days, but to maximize your chance of rocking this course I have a few tips:
The first 12 days provide a gentle warm up for your Swift learning. You’ll watch about a selection of one-minute videos every day, and complete short quizzes about each of those videos.
You just learned a lot about Swift in only 12 days, so before we continue it's important you reflect on what you've learned: look for weak spots, re-watch videos, re-take tests, and so on, until you feel comfortable that you have mastered all the Swift language fundamentals covered in days 1-12.
Now that you’ve mastered the basics of Swift, in these days you’ll start building real iOS apps using what you learned.
In the last few days we covered some of the fundamentals of iOS development, and before we move on to the next set of projects it’s important to take a step back and review what you’ve learned.
The next three projects we’re looking at will push your iOS skills further as you create some user interface in code, manage table views more carefully, and get some experience with closures.
You’ve learned about WebKit, UIAlertController, Auto Layout, and more – some more fundamentals of iOS development. Before we continue on to more projects, let’s take a moment to review what you’ve learned.
The next three projects we’ll be building projects where you meet some of the most important topics in iOS development: working with data from the internet, and taking advantage of the raw power of iOS devices. Of course, you’ll also be making useful products along the way!
You’ve tackled some really big projects these last few days, not least learning about building a user interface in code and running code in background threads. It’s time to take a moment to review what you’ve learned.
The next three projects we’ll be making are markedly different from the previous 9 – you’ll learn about making grids rather than tables, learn how to make high-performance 2D games using SpriteKit, and, at last, learn how to save user data.
Now that you have conquered
Codable, it’s time to pause for a day and review what you learned – while also tackling a fresh challenge.
The next three projects we’ll be making move into the realm of richer user interfaces – you’ll learn about manipulating images using Core Image, animation views, and more.
We’ve covered some hugely important iOS technologies that you’ll be relying on time and time again, so let’s take a brief pause to recap what you’ve learned.
In the next three projects we’ll be edging a little further away from UIKit as we explore MapKit, Apple’s powerful and flexible mapping framework, then we’ll tackle a skill you’re more than ready for: debugging.
Although these last few projects should have been nice and easy for you, it’s still worth pausing for a day to review what was learned and try out a fresh challenge.
We’re going to tackle two tough projects back to back, but in doing so you’ll start to really be amazed at the things you can build on iOS – brace yourself!
After two tough projects and yet another important technique, it’s time to hit the brakes for a day and double check everything is sinking in.
These next three projects will start to show you just how much you’re now able to build with iOS – your skills are really starting to flourish!
Your head is probably spinning with Bezier paths and iBeacons, so before we continue on with more learning it’s important to take a day to pause and reflect on what has been covered.
These next three projects give you chance to go over some earlier topics again, while also introducing some new frameworks such as MultipeerConnectivity and Core Motion.
As we enter the last few days of this challenge, it’s as important as ever to pause for a moment and review what you’ve learned these last few days.
These final three projects introduce you to some key functionality that will really help you up your game: using Face ID, mixing UIKit and SpriteKit, and identifying performance hotspots in your code.
It’s time to recap all the things you’ve learned in the last few days, and start work on a big challenge to go out with. You’ve got this!
It’s time to see how much you remember from across the entire curriculum. Are you ready for this?