Skip to main content

100 Days of Swift

About 7 minSwiftcrashcoursepaul-hudsonswifthacking-with-swiftxcodeappstore

100 Days of Swift 관련


HACKING WITH SWIFT

100 Days of Swift

How it works

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!

Important: There are two versions of the 100 Days course, this one and the newer 100 Days of SwiftUI. If you don’t know which one to follow, let me tell you up front: you should follow the 100 Days of SwiftUI. You should only follow this original version of the course if you specifically want to learn Apple’s older UIKit framework.

Rules

If you want to make a success of this course, there are only two rules:

  1. Every day you spend one hour reading or watching Swift tutorials, or writing Swift code.
  2. Every day you post about your progress to the social media site of your choosing. Tell people!

I’ll be providing all the material you need to follow along, so all you need to do is show up ready to learn.

Tips

I’ve met so many who have tried and failed to learn 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:

  1. It’s a marathon, not a sprint. Don’t charge ahead thinking you’re “learning faster”, because there’s a high chance you’ll get lost. Take your time!
  2. Don’t fall prey to shiny object syndrome. The lure of spending $50 on another course is high, I know, but you don’t learn anything by buying books. Your best chance of success is sticking with the 100 days shown here and really make it work.
  3. Don’t lone wolf it. You aren’t learning by yourself – I’m here to help as are many others. If you have questions, tweet me at @twostrawsopen in new window and I’ll do my best to help!
  4. Use the consolidation days. These are spaced throughout the 100 days to give you time to review what you’ve learned and make it really sink in. Use them to go back over days you weren’t sure about, complete any homework you missed, or just do some free coding.
  5. I have a glossary of common Swift termsopen in new window that you should bookmark for easy reference.
  6. Download my Unwrap app from the App Store.open in new window It works on iPhone and iPad, contains the first 12 days of this course plus lots of bonus activities, and is free with no in-app purchases.

The Course

Days 1-12: Introduction to Swift

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.

Days 13-15: Consolidation I

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.

Days 16-22: Starting iOS

Now that you’ve mastered the basics of Swift, in these days you’ll start building real iOS apps using what you learned.

Day 23: Consolidation II

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.

Days 24-31: Web views, user input, and Auto Layout

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.

Day 32: Consolidation III

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.

Days 33-40: Codable, buttons, and GCD

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!

Day 41: Consolidation IV

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.

Days 42-49: A whole new world

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.

Days 50-51: Consolidation V

Now that you have conquered UICollectionViewController and Codable, it’s time to pause for a day and review what you learned – while also tackling a fresh challenge.

Days 52-58: Images and animation

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.

Day 59: Consolidation VI

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.

Days 60-65: Maps and bugs

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.

Day 66: Consolidation VII

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.

Days 67-73: Leveling up

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!

Day 74: Consolidation VIII

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.

Days 75-81: Beacons and bombs

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!

Day 82: Consolidation IX

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.

Days 83-89: Multipeer and motion

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.

Days 90-91: Consolidation X

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.

Days 92-98: The Final Countdown

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.

Day 99: Consolidation XI

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!

Wrap up

It’s time to see how much you remember from across the entire curriculum. Are you ready for this?


이찬희 (MarkiiimarK)
Never Stop Learning.