Learn Swift 5 for Beginners (2019)

Just updated. No programming experience needed. Follow this complete set of tutorials to learn Swift programming for building iOS apps. After going through the lessons, try the programming challenges at the end and get your name on the wall of fame!
Written by

Chris C

Last Updated on

Apr 21 2017

by Chris Ching

This up to date guide will teach you the basics of the Swift programming language.

If you’ve ever tried to learn Swift, you’ll know that there are tons of outdated resources floating around the internet because Swift is in its infancy and Apple updates the language so often.

It’s a tremendous effort, but I’ve kept the following tutorials up to date and will continue to do so!

With that said, let’s dive into the lessons!

Psst! Download and print out my trusty Swift Syntax Cheat Sheet.


Lesson 1 Variables

1. Variables
In this lesson, you’ll start at the very beginning with variables.

Lesson 2 Data Types

2. Data Types
This lesson will show you some of the common data types you work with when building apps.

Lesson 3 If Statements

3. If Statements
Learn how to write code that can make decisions!

Lesson 4 Switch Statements

4. Switch Statements
Switch statements are another way for your code to make decisions.

Lesson 5 Loops

5. Loops
Sometimes you just need to repeat something. Loops are just for that!

Lesson 6 Loops Part 2

6. Loops Part 2
More on loops…

Lesson 7 Functions

7. Functions
In this lesson, you’ll learn how to organize your code into actionable functions.

Lesson 8 Functions Part 2

8. Functions Part 2
There’s a lot to functions! This lesson goes into more depth.

Lesson 9 Classes

9. Classes
Classes are another way to organize your code. This lesson is a must!

Lesson 11 UIKit

11. UIKit
The UIKit framework provides a lot of reusable code for us!

Lesson 12 Initializers

12. Initializers
Initializers are important to understand along with classes.

Lesson 13 Optionals

13. Optionals
In this lesson, you’ll learn what an optional is.

Lesson 14 Properties

14. Properties
Properties are kind of like variables but in the context of a class.

Lesson 15 Initializers Part 2

15. Initializers Part 2
More on initializers…

Lesson 16 Arrays

16. Arrays
You’re starting to learn about collection types now! Arrays are first.

Lesson 17 Dictionaries

17. Dictionaries
Dictionaries are another collection type.


Want to test what you’ve learned? Take a crack at the challenges below!

You may have to review some of the lessons to refresh your memory but I guarantee that completing these challenges will reinforce what you’ve learned in the lessons above.

When you complete all of the challenges, get your name on the Wall of Fame in the next section!


Challenge #1: The Lost Animal Challenge
In this challenge, you’ll write a function that searches two arrays to find an animal.

Download the starter code for this challenge

Challenge #2: The Caterpillar Challenge
In this challenge, you’ll implement the missing function code to make this caterpillar go!

Download the starter code for this challenge

Challenge #3: The Library Challenge
In the toughest challenge of this series yet, you’ll complete the class definition to enable searching for books, checking in/out books and also checking for errors too!

Download the starter code for this challenge


Wall of Fame

Get your name and Twitter profile mentioned here!

Step 1: Complete the challenges in the Challenges section above.

Step 2: Click the card below to send out the tweet! I’ll see your tweet and I’ll add your name below and a link to your Twitter profile.

I completed all the Learn Swift challenges! Try them here: https://codewithchris.com/learn-swift @CodeWithChrisClick To Tweet

After you complete the challenges, Click to Tweet above and pronounce your victory! I’ll add your name below:

Table of contents

    Get started for free

    Join over 2,000+ students actively learning with CodeWithChris