The Swift Programming Language Companion: Section 1

by Lou Franco

Filed under: iOS and The Swift Programming Language Companion

Swift sign

In my last article I explained that aspiring iOS App Developers should start by learning swift and not jump into app tutorials.

Before you learn about UIViewController, UITableViewDataSource, and NSManagedObject, you need to fully understand let, var, enum, struct, if, for in, case let, and guard let.

So, if you know no Swift at all and don't know a similar programming language, start with Apple's Swift Programming Language book and Swift playgrounds (on the iPad or in Xcode on a Mac). Learn how to write extremely simple functions and then small sets of structs/classes that work together.

It’s important to not just read the book and type in the code you see in it. You should actively write new code based on what you learned

To help, I’ve been working on a series of articles meant to be read after each corresponding chapter in the Swift Programming Language book. Each article has a few exercises that you should be able to do in a playground based on the information in the chapter.

I also show a way to set up an active reading environment and a method for generating exercises on your own if you need to go beyond what I have provided.

There are eleven articles so far, I recommend reading them in order and doing the exercises (because they build on each other). If you know a topic well, it will just take a few minutes to get through them. They are meant to take about 30 minutes for a brand new programmer studying Swift as a first language.

Section 1

  1. Introduction
  2. The Basics
  3. Optionals
  4. Basic Operators
  5. Strings and Characters
  6. Collection Types
  7. Control Flow
  8. Functions
  9. Functions (Part 2)
  10. Review of Basics to Functions
  11. Review of Basics to Functions (Part 2)

I’ll be starting on Section 2 now, so you could follow me on dev.to if you want to see the articles as they publish.

Never miss a post

Get more tips like this in your inbox